看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《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)) 依然無效 : 請高手幫幫忙 感謝.... 你的問題在於跑迴圈的時候cells(1,j)的值並不會傳到sheetname中.. 假設你原本的資料在sheet1,則在原本的程式中加入: (上略) sheet1.Activate '在這個位置加入即可 sheetname = Cells(1, j) (下略) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.84.11.70
fumizuki:他的sheetname是區域變數 .add.name才是新工作表的name 10/20 09:30
fumizuki:我實際測試過並不會產生錯誤 10/20 09:31
fumizuki:很可能他的儲存格是空的或是有不正確的字元存在 10/20 09:31
yaochi:感謝 果然是 要 activate sheet 的問題 10/20 16:28