返回列表 上一主題 發帖

[發問] 如何產生不同名稱worksheet

[發問] 如何產生不同名稱worksheet

我想請問如何利用excel VBA 一次新增5個worksheets,
順便更改worksheets名稱

Sub XXX()

For i = 1 to 5

     worksheets.Add
    ActiveSheet.Name = " Im=i"

Next

End sub

本帖最後由 mark15jill 於 2011-11-15 17:03 編輯

Sub CODE_ST1()
'螢幕更新關閉,提示關閉
Application.DisplayAlerts = False
Application.ScreenUpdating = True
   
'活頁簿新增
For AAA = 1 To 6 '1 TO 6 是 創造6個 SHEET
    QQ = Sheet1.Range("A" & AAA).Value
'QQ的值為 SHEET1的A欄位的值 , 如果是要多字串合併(如 a欄位和b欄位合併) 則 這串更改為 QQ = SHEET1.RANGE("A"&AAA ).VALUE & SHEET1.RANGE("B"&AAA).VALUE  
Sheets.Add After:=Sheets(Sheets.Count)
    Sheets("Sheet" & QQ + 1).Select   'QQ+1是避免 一開始的SHEET1
    Sheets("Sheet" & QQ + 1).Name = QQ
Next AAA
End Sub

TOP

可以了! 謝謝

TOP

回復 14# Helain
是這樣的意思嗎?

    "Im=" & i & "," &  "Ir=" & j"
學海無涯_不恥下問

TOP

恩~ 我知道如何呈現i&J, 在工作表名稱
不過我想要知道若我想呈現"Im=i, Ir=j" 這樣字串與變數的結合,我試不出來。

TOP

本帖最後由 Hsieh 於 2011-10-23 16:16 編輯

回復 12# Helain


    怎麼命名?問你自己啊!
工作表名稱就是一個字串
兩個變數你要怎樣呈現?
是i & j嗎?
用F8逐行功能看變數的變化,來參考你想如何得到字串
學海無涯_不恥下問

TOP

我想要再問, 如果有2個變數,要如何命名
Sub Remain_M()
    For i = 0 To 5
          for j = 0 to 5
              Worksheets.Add
              With ActiveSheet
             .Name = (i,j)
             End With
    Demand_M_2nd i
    Demand_R_2ndj
  Next
Next
End Sub

TOP

回復 10# Helain

其實這邊也不必用到With陳述式
直接使用ActiveSheet .Name = "Im=" & i即可
通常在同一物件的敘述時,為減少物件的使用
才需要將該物件要敘述的屬性利用With ...End With陳述式
學海無涯_不恥下問

TOP

感謝Hsieh大大的解答,
不過,可否為我解釋一下主程式的部分
為何要用with ~ end with
這是什麼狀況下用的呢?

p.s. 我是新手一切都還在摸索與學習

TOP

回復 8# Helain

是這樣嗎?
  1. Sub Remain_M()
  2. For i = 0 To 5
  3.     Worksheets.Add
  4.     With ActiveSheet
  5.     .Name = "Im=" & i
  6.     End With
  7.     Demand_M_2nd i
  8. Next
  9. End Sub
  10. Function Demand_M_2nd(ByVal Im As Integer)

  11.     For i = 3 To 5
  12.    
  13.         If Worksheets(1).Cells(i, 2).Value - Im > 0 Then
  14.         
  15.             ActiveSheet.Cells(i, 2).Value = Cells(i, 2).Value - Im
  16.         
  17.         Else
  18.         
  19.             ActiveSheet.Cells(i, 2).Value = 0
  20.          
  21.         End If
  22.          
  23.     Next
  24.                  
  25. End Function
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 人事的艱難與琢磨,就是一種考驗。
返回列表 上一主題