返回列表 上一主題 發帖

[發問] 取工作表名稱再覆制多次

[發問] 取工作表名稱再覆制多次

工作部有20張SHEETS, 由第7張至最後一張的SHEET名稱, 放在AA檔之F1起, 每個SHEET名稱COPY 20次. 而E1顯示1,2,3,4,....20 , 我寫了下列, 只可以出現最後一張工作表, 請教錯誤在那?

1 工作表名1
2 工作表名1
3 工作表名1
4 工作表名1
...20 工作表名1

1 工作表名2
2 工作表名2
3 工作表名2
4工作表名2
...20 工作表名2
  1. Sub getSheetName()

  2.     Dim i As Integer
  3.     Dim shtname As Integer
  4.    
  5.     Worksheets("aa").Select
  6.     Range("B1").CurrentRegion.Clear
  7.    
  8.     Range("B1").Select
  9.    
  10.     For i = 7 To Worksheets.Count
  11.     Range("B1").Resize(20) = Worksheets(i).Name
  12.    
  13.               
  14.     Next i
  15.    
  16. End Sub
複製代碼

你的代碼重覆填在Sheets("aa").Range("B1").Resize(20)
當然衹會見到最後一頁的頁名, 另外由7~最後一頁的頁名都是數字?

TOP

回復 2# ikboy


    是英文加數字, 但1-6張SHEET是不用處理的.有勞!

TOP

本帖最後由 lpk187 於 2015-8-21 08:57 編輯

回復 3# missbb



循環需要再加上一個變數
  1. Sub getSheetName()

  2.     Dim i As Integer
  3.     Dim shtname As Integer
  4.    
  5.     Worksheets("aa").Select
  6.     Range("B1").CurrentRegion.Clear
  7.    
  8.     Range("B1").Select
  9.     n = 1
  10.     For i = 7 To Worksheets.Count
  11.    
  12.     Range("B" & n).Resize(20) = Worksheets(i).Name
  13.     n = n + 20
  14.     Next i
  15.    
  16. End Sub
複製代碼

TOP

我有點奇怪,為甚麼missbb先進有過一句 Dim shtname As Integer, 是不是還有後期引用 sheets.name ?
但宣告成整數!

TOP

回復 4# lpk187


    如何在A1加上1,2,3.....20, 再重複?
有勞

TOP

for i = 你的下標 to  你的上標
  for j = 1 to 20
    [a1]=join([a1], 你的物件)
      next i,j

TOP

回復 7# ikboy

多謝指導! :D

TOP

回復 4# lpk187

多謝指導! :D

TOP

本帖最後由 n7822123 於 2015-8-21 22:28 編輯
  1. Sub getSheetName()

  2. Dim i As Integer
  3. Dim shtname As Integer

  4. Worksheets("aa").Select
  5. Range("B1").CurrentRegion.Clear

  6. Range("B1").Select

  7. n = 1

  8. For i = 7 To Worksheets.Count

  9.   Range("B" & n).Resize(20) = Worksheets(i).Name

  10.   For j = 1 To 20
  11.     Range("A" & n) = j
  12.     n = n + 1
  13.   Next j
  14. Next i
  15.    
  16. End Sub
複製代碼
請收下,:D

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題