好的,所以我最近进入了 VBA 编程,我一直在尝试编写一些代码来执行以下操作:
就这样
所以这是我写的代码:
Sub Generate_Attribute_Table()
Dim LastRow As Long
Dim i As Integer
Dim Nom As String
LastRow = Range("A1").End(xlDown).Row
For i = 2 To LastRow
If (Cells(i, "K").Value) Then
Nom = Worksheets(1).Cells(i, "C").Value
ActiveWorkbook.Sheets.Add(After:=Worksheets(Sheets.Count)).Name = Nom
Else
Cells(i, "K").Select
End If
Next i
End Sub
它似乎工作得很好,但即使列中有其他 True ,它也会在生成第一个工作表后停止。
else 情况是为了调试目的,因为我想看看发生了什么,它确认只要验证 if 语句,循环就会停止。
我尝试使用“Do直到”循环做同样的事情,但它做同样的事情。
我在这里错过了什么?我在网上找不到任何答案,所以任何帮助都会非常好。
提前致谢。
每个Sheets.Add 方法文档。
创建新的工作表、图表或宏表。新工作表成为活动工作表。
您有对 的隐式引用,ActiveSheet
因此每次添加新工作表时,您的代码现在都在引用新工作表。
添加一些对您打算使用的工作表的显式引用,例如:
LastRow = Sheets("Sheet1").Range("A1").End(xlDown).Row
和
Sheets("Sheet1").Cells(i, "K").Value
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句