Re: [VBA ] EXCEL 新增分頁命名的問題
※ 引述《Marty (DNA探針)》之銘言:
※ 引述《yaochi (ddd)》之銘言:
: ※ 引述《m9556 (紫色天平Boy)》之銘言:
: : 你先察看Cells(1,3)這一欄的文字,是否有無法用於命名的文字,
: : 不確定的話,可以將該cell的文字,用一個純文字檔命名看看,
: : 或許可以知道為什麼~~
: : 建議 sheetname =cstr(Cells(1, j)) <<這樣改
: : 我的拙見~~參考看看~~
: MsgBox "sheetname= " & sheetname
: 我在 sheetname 後加一行 MsgBox "sheetname= " & sheetname
: 當 j=3 的時候 讀不到sheetname 而 Cells(1,3) 的值
: 為 bbbbbb 之類的純字串 並無 /.% ...等 特殊符號
: 將 Cells(1,j) 改為 CStr(Cells(1,j)) 依然無效
: 請高手幫幫忙 感謝....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.11.70
推
10/20 09:30,
10/20 09:30
推
10/20 09:31,
10/20 09:31
→
10/20 09:31,
10/20 09:31
'原PO程式碼
Sub 新增分頁()
Dim sheetname As String
Dim j As Integer
For j = 2 To 4
sheetname = Cells(1, j)
MsgBox "sheetname= " & sheetname
With Worksheets.Add
.Name = sheetname
End With
Next j
End Sub
'我實際測的時候的確會產生1004錯誤
'我覺得原因是在於執行 .add時 Excel會Focus在新產生的sheet上
'然而新的sheet中並無資料,
'導致 sheetname = cells(1,j) 中的cells(1,j)無值可傳回
'
'推論如下:(假設資料在sheet1中,值依序為[a,b,c,d])
'程式在j=2,
'cells(1,2) = "b" ,此時cells(1,2)為Sheet1.cells(1,2)
'在執行.add後,產生WorkSheets("b")
'在j=3時,因為Focus在WorkSheets("b"),
'故傳回的值為WorkSheets("b").cells(1,3)
'故產生 1004錯誤
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.11.70
推
10/20 10:55, , 1F
10/20 10:55, 1F
推
10/20 10:56, , 2F
10/20 10:56, 2F
推
10/20 10:56, , 3F
10/20 10:56, 3F
→
10/20 10:59, , 4F
10/20 10:59, 4F
推
10/20 10:59, , 5F
10/20 10:59, 5F
推
10/20 13:11, , 6F
10/20 13:11, 6F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 5 之 5 篇):