早上好,我有一张表格,格式如下:
我有一张表,有下一个格式。
我想用vba来实现这样的格式。
所以我的问题是: 我想得到一个vba代码,插入列如图所示,例如,如果我有 "3个动物",我必须在第一张图片的C列和D列之间插入一个D列和E列.我的工作簿在这张工作表之前有一个叫动物1的工作表,但我可以有多少张工作表,我想,"动物2,动物3,动物4,......",问题是我不知道有多少我将有工作前。所以我想要一个vba代码,得到这个工作表之前的工作表数量,然后插入我将有多少个工作表的列。
我的Workbook的张数会是 "标题,描述,动物1,... 动物X,CurrentSheet",所以我想要一个代码来计算 "动物1,......动物X "的张数,并插入尽可能多的张数。动物X",然后像图片中显示的那样,插入与床单数量一样多的列,这将是一个只有3张床单的例子。
我知道我必须用for循环来做,但我没有找到解决的方法,对不起,我很新的vba。
非常感谢你的回答,如果有什么不清楚的地方可以问我。
PS:我有工作的一些代码是这样的。
Dim NumSheet As Long
Dim I As Long
NumSheet = ThisWorkbook.Worksheets.Count - 4 '4 sheets that I don't want to use for the columns insertion
For I = 1 To NumSheet
Columns("D:D").Select
Selection.Insert Shift:=xlToRight
Next I
这样计算以 "Animal "开头的表的数量,然后在另一张表上插入该数量的列。
Sub x()
Dim ws As Worksheet, nCount As Long, i As Long
For Each ws In Worksheets
If ws.Name Like "Animal*" Then nCount = nCount + 1
Next ws
With Sheets("Sheet4")
.Columns("D:D").Resize(, nCount).Insert Shift:=xlToRight
For i = 1 To nCount
.Cells(1, i + 3).Value = "Price Animal " & i
Next i
End With
End Sub