Board logo

標題: [發問] 針對EXCEL VBA 儲存格欄位個數新增分頁 [打印本頁]

作者: s13983037    時間: 2014-11-22 23:22     標題: 針對EXCEL VBA 儲存格欄位個數新增分頁

本帖最後由 s13983037 於 2014-11-22 23:23 編輯

大大們你們好 我想請問一下 我想針對 工作表的儲存格從A欄的資料 建立一個一個的分頁
可以去針對A欄有幾個資料就建立幾個分頁嗎 想把紅色的部分改成類似成Worksheets.Count
不然每次都會跳出 如圖附件2 感謝幫忙

----想修改----
Dim I as Integer
    For I = 1 To 100
        Sheets.Add after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = Sheets(1).Range("A" & I)
    Next
----想修改----

-----相關範例-----
For i = 1 To Worksheets.Count
Cells(i, 1) = Sheets(i).Name
Next i

作者: luhpro    時間: 2014-11-23 03:54

大大們你們好 我想請問一下 我想針對 工作表的儲存格從A欄的資料 建立一個一個的分頁
可以去針對A欄有幾個 ...
s13983037 發表於 2014-11-22 23:22
  1. Sub nn()
  2.   Dim lRow&
  3.   
  4.   lRow = 1
  5.   Do While Cells(lRow, 1) <> ""
  6.     With Sheets.Add(after:=Sheets(Sheets.Count))
  7.       .Name = Sheets(1).Cells(lRow, 1)
  8.       lRow = lRow + 1
  9.     End With
  10.   Loop
  11. End Sub
複製代碼

作者: s13983037    時間: 2014-11-23 10:55

回復 2# luhpro


    大大您好 我想請問一下 如果我想批次修改工作表 Sheets.Add(after:=Sheets(Sheets.Count))這個部份是否要更改成某個函數??還是或者 我可以抓到A欄的項目個數
當我去抓A欄的項目個數 會變成 數字可以抓 但如果是字串抓不了 這有其他解決方式嗎 麻煩了 感謝
Worksheets(1).Range("A:A").Select
RowCounts = Application.Count(Selection)

Dim lRow&
  lRow = 1
  Do While Cells(lRow, 1) <> ""
    With Sheets.Add(after:=Sheets(Sheets.Count))
      .Name = Sheets(1).Cells(lRow, 1)
      lRow = lRow + 1
    End With
  Loop
作者: luhpro    時間: 2014-11-25 23:31

本帖最後由 luhpro 於 2014-11-25 23:32 編輯
回復  luhpro
    大大您好 我想請問一下 如果我想批次修改工作表 Sheets.Add(after:=Sheets(Sheets. ...
s13983037 發表於 2014-11-23 10:55

程式已經達到你的需求了喔.

Dim lRow& ' 定義 lRow 為長整數
lRow = 1 ' 從列號為 1 (即第 1 列) 開始抓名稱
  Do While Cells(lRow, 1) <> "" ' 執行迴圈,依次抓名稱直到 [A?] 儲存格沒資料為止, ?即列號在此為lRow
    With Sheets.Add(after:=Sheets(Sheets.Count)) ' 新增一個 Sheet 放在最後面, 名稱為系統預設 (從此行開始直到 End With , 之間以 . 開頭的物件, 執行時會先以 此 Sheet 工作表物件 取代開頭的 . 再執行指令)
      .Name = Sheets(1).Cells(lRow, 1) ' 將此 Sheet 名稱更改為 [A?] 儲存格內的值, ?即列號在此為lRow
      lRow = lRow + 1 ' 列號加1
    End With
  Loop ' 繼續迴圈




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)