我正在创建一个用户表单,可以制作食谱并将其打印到我的工作簿中的工作表中。
我有一个列表视图,其中列出了所有成分和数量。
当我按下按钮时,我希望将listview中的信息复制到工作表中。
当Userform到达“子项目”(代码的第7行)时,它会进行调试,说它是“无效的限定符”
以下是代码:
LastRow2 = Worksheets("Opskrifter").Cells(Worksheets("Opskrifter").Rows.Count, 1).End(xlUp).Row + 1
lngIndex = 0
Worksheets("Opskrifter").Cells(LastRow2, 1).Value = TextBox2.Value
loop1:
LastRow2 = LastRow2 + 1
lngIndex = lngIndex + 1
Worksheets("Opskrifter").Cells(LastRow2, 1).Value = ListView1.ListItems(lngIndex1).SubItems(0).Text
Worksheets("Opskrifter").Cells(LastRow2, 2).Value = ListView1.ListItems(lngIndex1).SubItems(1).Text
If lngIndex1 < ListView1.ListItems.Count Then GoTo loop1
任何人都可以帮助我修改代码中需要更改的内容以使其按预期工作吗?
- 子问题:
subitem(0)
是列表视图中第一列的正确用语吗?
.Text
是选择listview
中的数据的正确方法吗?
非常感谢任何帮助!
答案 0 :(得分:0)
出于某种原因,这个表达式:Worksheets("Opskrifter").Cells(LastRow2, 1).Value = ListView1.ListItems(lngIndex1).SubItems(0).Text
对于VBA来说太长了。以这种方式拆分:
Dim li As ListItem
Set li = ListView1.ListItems(lngIndex1)
Worksheets("Opskrifter").Cells(LastRow2, 1).Value = li.SubItems(0).Text