|
本帖最后由 香满园 于 2012-2-16 21:53 编辑
如何通过以下定义的三个红色字体的工作表标签,在下面代码的括号中依次调用?(Sheets(工作表标签名1))比如第一次循环调用工作表标签名1,第二次循环调用工作表标签名2,第三次循环工作表标签名3.这样就完成了指定的工作表调用的功能,怎么才能实现呢?
sub test()
dim i as integer
dim 工作表标签名1 as string,工作表标签名2 as string,工作表标签名3 as string
工作表标签名1="Sheet1"
工作表标签名2="Sheet5"
工作表标签名3="表3"
i = Sheets(工作表标签名1).Cells(Rows.Count, 1).End(xlUp).Row
arr = Workbooks(表1.xls").Sheets(biaoqian).Range("A3").Resize(i - 2, 4)
for j=1 to 10
.........
next
Workbooks.Open ThisWorkbook.Path & "\表2.xls"
With Workbooks(表2.xls").Sheets(工作表标签名1)
.........
end with
ActiveWorkbook.Close True
end sub
- Sub yidata()
- Dim i, arr, j As Integer, d As Object, wb, Arr2()
- i = Cells(Rows.Count, 1).End(xlUp).Row
- arr = Range("A2").Resize(i - 1, 2)
- Set d = CreateObject("scripting.dictionary")
- For j = 1 To UBound(arr)
- d(arr(j, 1)) = arr(j, 2)
- Next
-
- Application.ScreenUpdating = False
- Workbooks.Open ThisWorkbook.Path & "\表2.xls", Password:="123"
- Arr2 = [{"Sheet1","Sheet5","表3"}]
- For i = 1 To UBound(Arr2)
- With Sheets(Arr2(i))
- .[A2].Resize(d.Count) = Application.WorksheetFunction.Transpose(d.keys)
- .[B2].Resize(d.Count) = Application.WorksheetFunction.Transpose(d.items)
- End With
- Next i
- Application.DisplayAlerts = False
- ActiveWorkbook.Close True
- Application.ScreenUpdating = True
- End Sub
复制代码
这样吗
|
|