我已經記錄並拋光了下面的宏,它應該創建一個額外的工作表,並在原始工作表中的每個表的起始單元格上創建一個名爲「All_tables」的超文本鏈接。在這張表中,每個表都由一個散列符號(#)分開。 See a screenshot:如何在VB中創建正確的循環(宏)
Sub Create_list_of_tables()
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "list of tables"
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"All_Tables!A22", TextToDisplay:="some variable pointing at the table name"
Range("A2").Select
End Sub
現在我想將其放到一個循環會重演十(或更多)次。我試圖使用散列符號作爲程序的參考點來找出他應該指向哪個單元格的超鏈接。這裏是結果:
Sub Create_list_of_tables()
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "list of tables"
Const cStrDivider As String = "#"
Dim rMyCell As Range
Dim table_number As Long
table_number = 0
Do Until table_number = 10
Set rMyCell = Range("cStrDivider").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"All_Tables!&rMyCell", TextToDisplay:="some variable pointing at the table name"
ActiveCell.Offset(1, 0).Select
table_number = table_number + 1
Loop
End Sub
而且它不起作用。我對宏和VB編程完全陌生,所以如果你至少能向我展示方向,我會非常高興。我的方法是完全錯誤的嗎?
謝謝你這麼多
當你說*它不起作用*,'1.'這是否意味着代碼有錯誤?或'''你的代碼是否返回任何內容或者什麼都不做,但是沒有編譯錯誤? – bonCodigo 2013-02-25 16:55:30
這篇文章似乎是錯誤的:ActiveSheet.Hyperlinks.Add Anchor:=選擇,地址:=「」,SubAddress:= _ 「All_Tables!&rMyCell」 我認爲語法是錯誤的。我不知道如何正確地將變量與固定位置結合... – DDEX 2013-02-25 18:30:34
向變量添加變量時,它需要在引號之外。試試「All_Tables!」 &rMyCell – Zaider 2013-02-25 19:44:47