我正在尝试创建一个宏,让用户在20个不同的单元格中输入值,然后将这些信息(单击按钮时)添加到另一张工作表的数据库中,以备后用。
我已经成功编写了将这20个不同值存储在集合对象中的代码,现在我试图编写代码的后半部分,我希望在其中填充该集合对象,比方说表中的第8行。
轮廓如下:
我可以创建带有计数器等的循环,但是也许存在更复杂的解决方案?
Sub AddDataRow(myCol As Collection)
Dim sheet As Worksheet
Dim table As ListObject
Dim rng2 As Range
Set sheet = Worksheets("Databas")
Set table = sheet.ListObjects("Table1")
If table.ListColumns("Projektnamn").Range.End(xlDown) <> "" Then
table.ListRows.Add
Else
End If
答案 0 :(得分:0)
我认为计数器和循环是Collection对象的最佳选择。如果要设置对Microsoft脚本运行时的引用,则可以使用Dictionary对象而不是Collection对象。有了Dictionary,您可以使用Items或Keys方法一次拍摄一个范围,而不是循环播放。
Excel.Range selectRange = excelWorkSheet.Range[excelWorkSheet.Cells[A4157], excelWorkSheet.Cells[A4178].select;
Excel.Range copyRange = excelWorkSheet.Range[excelWorkSheet.Cells[A4157], excelWorkSheet.Cells[A4178]].select;
我以前不喜欢使用Dictionary,因为我不希望使用该外部参考。但是一旦我克服了这个问题(并且没有任何问题),几乎在所有情况下我都喜欢使用字典。