我是一个VBA新手,但我觉得它可以在Excel中为我提供一些很好的功能,而不需要求助于大量复杂的公式。
我有一个表,在该表中,我标识了列和标题的组合存在的位置。
我想要做的是将每个列和行标题连接成一个单独的列。
示例(可以有任意数量的列/行标题):
10CAT 20CAT 30CAT
EAR x x
CAR x x
GBR x x x
其中我有一个'x‘,我希望连接到单个列中,如下所示:
10CATEAR
20CATEAR
20CATCAR
30CATCAR
10CATGBR
20CAT
在我的excel中,我在两行中有两个标题,我根据这些标题为每行上载值。如果两个标头的组合已经可用,则将更新该行中的值。如果该组合不可用,则会创建一个新列。
示例Excel
如图所示,如果我再次发现列2和列B组合,我可以针对列2和列B更新新行中的值。如果有另一个标题组合,比如列5和列B,那么它将创建一个新列。
使用VBA,我只能检查一个列标题,但不能检查标题的组合。我使用了下面的代码。
Set c=ws.Range("B2",ws.Cells(2,Columns.Count)).Find:=What(d,1)
IF c is Nothing Then
My code
Else`
我正在使用vba从excel中查询一个SQL数据库,一切正常,但它也会在excel表中返回并显示SQL列的标题。如下所示:
AssetTag Machine Name UserName Current Site Run Count Defered
AssetTag MachineName UserName CurrentSite RunCount DeferCount
B33CWM1 QRLXPB33CWM1 admin-03 QR 255 3
有没有办法让VBA不
我想将两个excel文件(Book1.xlsx和Book2.xlsx)导入到access数据库表(Table1)中,其中有一个额外的列指示数据源:
1.xlsx
Name Age
Paul 30
2.xlsx
Name Age
John 20
Table1
Name Age Source
Paul 30 Book1
John 20 Book2
通过Access VBA或Excel VBA自动执行此操作的最佳方法是什么?我将有几十个excel文件,每个文件包含约50K行。
是否必须打开每个excel文件才能运行Excel VBA宏,然后使用ADODB
我对VBA非常陌生,并试图合并一个包含20万行的excel文件。
我的excel格式是
你可以看到那里有这么多重复的数据。我希望通过附加其他列数据,使整个工作表只有4列,因为标题是相同的。
例如:
Data in the columns F2-I2 will go to A4 - D4
F3 - I3 will go to A5 - D5
similarly
K2 - N2 will go to A6 - D6
K3 - N3 will go to
我想知道是否有人可以推荐一种从MS Access模块查询excel文件中数据的替代方法。
如果我的数据组织为典型的“表”格式,例如带有标题的行和列,那么我一直在使用DAO连接连接到工作簿,如下所示
Dim db as DAO.Database
Dim rsUsers as DAO.Recordset
Set db = OpenDatabase("C:\SaleLog.xls", False, True, "Excel 8.0;HDR=Yes;")
Set rsUsers = db.OpenRecordset("SELECT userID FROM [S
关于使用VBA将单元格从一个工作表复制到另一个工作表,我有一个问题。
问题背景:
excel电子表格的Sheet1包含来自多个测试主体的标题和许多测试观察。每一行都是对每一主题进行一次审判的观察。每个试验对象都有固定数目的观察,即15行。我需要从指定的行中选择一个单独的单元格,并将它们复制到同一个工作簿的sheet2中。表2也将包含标题。对于VBA和一般的编程/脚本来说,我都是新手,对于如何做到这一点,我遇到了一些问题。下面是我试图操作的数据的类似示例。下面的数据集包含5列。研究对象编号是1111和2222。变量()的每个标题包含一个字母,例如VariableOne = "a"
? 我正在尝试调用一个子例程,当excel工作表TitlesList的B列上的任何内容发生更改时,该子例程会将公式扩展到最后一行。公式在添加之前不能存在,因此应该只存在于B列更改后的行中。目的是允许来自FLOW的API在excel中插入一行,然后excel将应用公式在另一列中创建新值,然后FLOW将更新Planner中的新值。(复杂?)具体地说,我试图确保planner中的卡片标题在标题前面总是有一个唯一的值。例如,如果卡片标题是:"This is a card title“,我有一个流程,它将成功地将一行添加到excel中,但它会将该行添加到工作表的最后一个空行中。在这一点
我希望将表中由列标题指定的特定列组合成表外的一列。到目前为止,我有下面的脚本运行良好,只是它只组合了相邻的列,并且列号是静态的。
我想要开发的脚本,以便它的工作与非连续范围的列标题名称。我打算使用一个助手列来列出要组合的列标题。下面的屏幕截图显示了一个示例,在helper列H中,列出了三个列标题(实际上,列出的列标题的数量将有所不同),并在此基础上将这些列中的数据组合成一个新的合并列表。由于Excel的早期版本,我希望使用VBA而不是Power Query来实现这一点。
Sub combine()
Dim LR As Long, i As Long
For i = 1 To 6
我正在尝试删除Excel表中的许多行。
我的VBA非常简单:
Sub delNA()
lr = Cells(Rows.Count, "A").End(xlUp).Row 'find last row
For i = lr To 2 Step -1 'loop thru backwards, finish at 2 for headers
If Cells(i, "H").Text = "#N/A" Then Rows(i).EntireRow.Delete
Next i
End Sub
但我
我试图从vba的pdf文件中提取表格,并将它们导出到excel。如果一切按其应有的方式进行,就应该自动进行。问题是表格没有标准化。
这就是我到目前为止所拥有的。
VBA (Excel)运行,并将当前文件夹中的所有.pdf文件转换为文本文件。
VBA (Excel)逐行读取每个文本文件。
守则如下:
With New Scripting.FileSystemObject
With .OpenTextFile(strFileName, 1, False, 0)
If Not .AtEndOfStream Then .SkipLine
Do Until .AtEnd
我正在尝试使用VBA高效地将数据列从一个工作表复制到Excel中的另一个工作表,从定义的列名称开始。 我不确定为什么我的代码不能工作。我再怎么强调也不为过,我对编码的了解是如此之少。我正在尝试自学VBA,以便在Excel中操作大量数据。 Function SortDataC()
'cuts and pastes columns from the unsorted worksheet to the sorted worksheet
Worksheets("UnsortedData").Range("DeltaModScore").Copy Desti