Tag: excel vba

从TextBox中的单词末尾删除逗号

我正在尝试使用VBA从文本框中的名称末尾删除逗号。 有了这个问题,我首先必须通过点击一个命令button来将一个名称分类到两个文本框中。 问题是用户可能input名字作为FirstName, LastName或FirstName (single space) LastName 。 现在我卡住试图删除逗号。 删除特定的数字或字母已成功,但删除逗号将无法使用。 我得到的消息是语法错误 。 我的代码: Private Sub CommandButton1_Click() Dim LNFN As String Dim LastName As String Dim FirstName As String LNFN = TextBox4.Text FirstName = Split(LNFN)(1) LastName = Split(LNFN)(0) TextBox2.Text = FirstName TextBox3.Text = LastName TextBox2 = TextBox2.Value If Right(TestBox2, 1) = “,” Then TempString = Left(TextBox2, […]

如何在Excelmacros或VB.Net中将JSON数据转换为xml数据

我正在获取JSON格式的数据 { “名称”: “瑞恩”, “年龄”:1, “滚动”:2 “地址”: “AAA”},{ “名称”: “瑞恩”, “年龄”:1, “滚”:2 , “地址”: “AAA”},{ “名称”: “瑞恩”, “年龄”:1, “滚动”:2 “地址”: “AAA”},{ “名称”: “瑞恩”,”年龄 “:1,” 滚动 “:2”,地址 “:” AAA“}] 它如何被转换成XML格式。 所以我可以用它填充我的Excel电子表格。 或者有没有什么办法可以直接将JSON数据转换为Excel中的macros

提高高级filter处理时间

下面的代码通过logging进行循环,并从每个logging的高级filter/计算中返回某些值。 我有大约2000条logging我需要它贯穿。 问题是处理时间是10-15秒一个logging,这太慢了。 Sub EquityAutomatedDallas() Dim Counter As Integer Dim LogNo As String Dim LogNoRange As Range Dim NoRange As Range Dim FilterRange As Range Dim FilterCriteriaRange As Range Dim ValueRange As Range Dim FullSortRange As Range Dim SortValueRange As Range Dim FullSortRangeValues Dim EquityRankRange As Range Dim EquityOutOfRange As Range Dim MedianRange As Range […]

从Access表中selectID是一个string

我有一些在Excel中的代码,更新一个Access表,如果RTP_ID等于IngID,下面的匹配,如果它们是RTP_ID数字作品: sSQL = "SELECT * FROM Tbl_Primary WHERE RTP_ID = " & lngID 不过,我希望它RTP_ID可以是一个string。 我试过了: sSQL = "SELECT * FROM Tbl_Primary WHERE RTP_ID = '" & lngID & "'" 但是这仍然行不通,有什么想法? 所以如果RTP_ID是1它会工作,但如果它是1A它不会。 编辑 – 这里是我目前的代码: Application.ScreenUpdating = False Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim fld As ADODB.Field Dim MyConn Dim lngRow As Long […]

列出打开的工作簿减去当前的工作簿

我已经实现了以下代码,列出了ComboBox中所有打开工作簿的名称: Option Explicit Private Sub ComboBox1_Change() If Me.ComboBox1.ListIndex < 0 Then Me.CommandButton2.Enabled = False Else Me.CommandButton2.Enabled = True End If End Sub Private Sub CommandButton1_Click() Unload Me End Sub Private Sub CommandButton2_Click() MsgBox "Are you sure you want to select " & Me.ComboBox1.BoundValue, vbOKOnly Application.Workbooks(Me.ComboBox1.Value).Activate End Sub Private Sub UserForm_Initialize() Dim myWin As Window Dim […]

创build一周后popup

我有一个date列,我希望在每个date的一个星期后通过popup显示。 我不了解macros。 每次打开文档时都必须运行macros吗? 这是我迄今为止所做的: Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long For i = 1 To Rows.Count if Cells(i, 1).Value<(TODAY()+7) And Not IsEmpty(Cells(i, 1).Value) then MsgBox Cells(i,1).Value + "Needs your attention!" Cells(i, 1).Font.Color = vbRed End If Next i End Sub 还没有testing呢。

错误1004“无法从pivottable获取pivotfield”

尽pipe这个话题已经出现了,但是就pivotfields中的错误1004而言,我只是没有看到这种情况,我需要解决这个问题,并且没有任何线索。 这是一个logging的macros代码: With ActiveSheet.PivotTables("SybusPivotTable").PivotFields("Lote") .PivotItems("0").visible = False .PivotItems("ERRO").visible = False End With With ActiveSheet.PivotTables("SybusPivotTable").PivotFields("Referência") .PivotItems("").visible = False .PivotItems("0").visible = False End With With ActiveSheet.PivotTables("SybusPivotTable").PivotFields("tipo_mov") .PivotItems("2").visible = False End With 我logging它,当一个macros运行…错误1004。 这是一个录制的代码,所以我期望它像一个魅力运行。 但不是。 err出现在第一行代码中。 任何线索? 提前致谢。

我想创造一些基本上会去的“如果Q = O然后删除Q”

我有一段时间没有使用macros,所以我非常生锈,这可能超出了我必须开始的能力。 我只想删除个别Q字段的内容,而不是行或列或任何东西,所有我发现的有关删除macros的东西的东西包括删除行 用NULLreplaceQ也是一个解决scheme,如果这更容易做到的话? 非常感谢您的帮助。

使用高级筛选器vba过滤多页数据文档

各位程序员好! 在工作中,我被要求创build用于过滤数据的Excel文档。 我已经偶然发现了某些filter的一些困难,如下所述。 基本上我有一个文件列出了在某个游戏中所有可用的武器。 每种武器都可以在游戏中获得,例如武器1可以在任务1中获得。我需​​要过滤这些数据,以便search所有需要的武器,包括这个特定的任务或者某个行动。 所以如果我select例如任务3,我需要显示任务1 2和3的所有武器。 同样的行为机制。 我能够创造可怕的解决办法,如果发言涉及到,但是我们在游戏中有大约30个任务,所以同样的任务最终会挂在我自己身上。 为了更好地解释我的问题,我创build了一个带有示例数据的小型excel文档 ,它反映了我实现了1:1的真实文档“机制”。 要打破它,打开它后,你会看到三张: filter – 这是filter结果显示的那个。 完整列表 – 这是我们要过滤的武器的整个列表。 上午 – 这是游戏的行为和任务列表。 我正在使用这个macros来过滤行为(它开始后,你点击过滤行为button): Sub FilterActs() Sheets("Filter").Select Range("B10").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Clear Sheets("Full list").Range("A1:H175").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _ Sheets("Full list").Range("P1:P4"), CopyToRange:=Sheets("Filter").Range("B10"), Unique:=True Columns.AutoFit Range("B10").Select End Sub 由于您可以在完整的列表P1:P4中findIF语句,因此它适用于行为。 然而,我不知道如何自动执行此任务,而不使用gazilion IF语句。 如果我可以提供更多的信息,请通过评论通知我。 我会大大apprieciate从你们的任何意见,甚至对这个问题的完全不同的解决scheme。 非常感谢大家的时间! 最好的祝福 罗夫 PS。 我对这个整体vba excel新东西很陌生,第一次开始使用它,所以随时给我任何有用的提示。

用户窗体combobox

我有一个用户窗体有一个combobox和一个文本框。 TextBox需要为ComboBox的值做一个查找,但是如果该值存在于列表中,如果不存在,我不想在TextBox中出现任何东西,所以用户可以input新的信息。 这是我有多远: Private Sub TextBox1_Enter() If cbocolor.Value <> "" Then Dim evalStr As String Dim check As Variant evalStr = WorksheetFunction.VLookup(cbocolor.Value, worksheets("CONTACTS").Range("allcontacts"), 2, False) check = Evaluate(evalStr) If VarType(check) = vbError Then TextBox1.Value = "Enter new info" Else var1 = WorksheetFunction.VLookup(cbocolor.Value, Worksheets("CONTACTS").Range("allcontacts"), 2, False) TextBox1.Value = var1 End If