遍历VBA中的值数组

时间:2019-11-25 18:28:40

标签: excel vba for-loop count

我为.csv中收到的一堆信息建立了数据库。然后,我设置了一个表单,以在一个漂亮的表中使用Match&Index公式显示所有数据,这是我们发送出去的。我正在尝试使用VBA中的For Each简化这些表的导出。当前代码是

Sub ExportAllSheets()

Dim DB As Workbook
Dim OSR As Worksheet
Dim EL As Worksheet
Dim SN As Range
Dim List As Range
Dim Name As Range
Dim x As String

Set DB = Workbooks("Database")
Set OSR = DB.Sheets("OilSamplingResults")
Set EL = DB.Sheets("ExportList")
Set List = EL.Range("A2:A100")
Set Name = EL.Range("B2:B100")

x = InputBox("Enter File Name")

ScreenUpdating = False

For Each SN In List

EL.Range("A2").Copy OSR.Range("G5")
  OSR.Copy After:=OSR
    Sheets("OilSamplingResults (2)").Range("A1:BN45").Select
        Selection.Copy
         Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
            Sheets("OilSamplingResults (2)").Move After:=Workbooks(x).Sheets("Master")
Workbooks(x).Sheets("OilSamplingResults (2)").Name = Workbooks("Database").Sheets("ExportList").Range("B2")
Workbooks("Database").Sheets("ExportList").Activate
ScreenUpdating = True

Next

End Sub

工作簿数据库具有要导出的结果页面和一个ExportList页面。 A列是在结果页上驱动我的匹配公式的序列号。复制序列并将其粘贴到G5中,该序列将检索所有数据,复制结果页面,并通过仅复制值来“展平”它。将新展平的图纸移动到导出文件,并根据ExportPage列B值对其重命名。

我目前可以使用的功能,但是由于我在循环中设置了A2和B2硬,因此出现了“该名称已被使用”错误。我不知如何使用A3和B3 ... 4.5.6,以此类推。

我还应该澄清一下,当我导出数字列表时,它们都转到同一个文件中。下次导出时,文件名将不同,但再次列出该文件的整个列表。

我看到很多人都将Dim I用作Integer和I + 1以及一个count函数,只是从来没有做过。

1 个答案:

答案 0 :(得分:0)

JSON.parse(decodeURIComponent(title));