Board logo

標題: [發問] 執行好幾次都沒問題,但忽然今天... [打印本頁]

作者: carus1009    時間: 2014-11-12 10:14     標題: 執行好幾次都沒問題,但忽然今天...

Sub saveas()
ActiveWorkbook.saveas FileName:="C:\Users\Administrator\Google 雲端硬碟\估價單\103年估價單\11月份\" & Format(Range("j5"), "EMMDD") & Range("C6") & (Range("K6") & "-" & Range("J27") & ".xls")
MsgBox "檔案名稱 " & Format(Range("j5"), "EMMDD") & Range("C6") & (Range("K6") & "-" & Range("J27")) & " 另存成功!!"
End Sub

今天執行程式後就跳出[attach]19523[/attach]
好奇怪喔,已經執行好幾天沒問題了,今天忽然跳這個訊息....:Q :Q :Q
各位高手可以幫我解答一下嗎? 謝謝~
作者: GBKEE    時間: 2014-11-12 15:44

本帖最後由 GBKEE 於 2014-11-12 15:45 編輯

回復 1# carus1009
[attach]19531[/attach]


自行檢查是否有圖示中的錯誤
  1. Sub save_as()
  2. 'ActiveWorkbook.saveas Filename:="C:\Users\Administrator\Google 雲端硬碟\估價單\103年估價單\11月份\" & Format(Range("j5"), "EMMDD") & Range("C6") & (Range("K6") & "-" & Range("J27") & ".xls")
  3. MsgBox "C:\Users\Administrator\Google 雲端硬碟\估價單\103年估價單\11月份\" & Format(Range("j5"), "EMMDD") & Range("C6") & (Range("K6") & "-" & Range("J27") & ".xls")
  4. End Sub
複製代碼

作者: carus1009    時間: 2014-11-12 17:03

我檢查過圖示中的錯誤了,我發現所有的資料夾都是唯讀,但我沒辦法關掉唯讀,勾掉還是自己會寫回去,我改成最基本的C:\ 或D:\ 也是跳出同樣的訊息...這是我的電腦中毒了?

但我不跑程式一樣可以用手動存檔啊....[attach]19534[/attach]
作者: carus1009    時間: 2014-11-12 18:16

我找到原因了,問題已解決~感謝版主幫忙!!:D
作者: mmxxxx    時間: 2014-11-13 09:35

應是欄位儲存格內容藏有看不到的控制碼所致,  
建議先將要使用的欄位trim掉,  但有時不見有效.
這是Excel常遇到的問題.
作者: carus1009    時間: 2014-11-13 10:20

Sub saveas()
ActiveWorkbook.saveas FileName:="C:\Users\Administrator\Google 雲端硬碟\估價單\103年估價單\11月份\" & Format(Range("j5"), "EMMDD") & Range("C6") & (Range("K6") & "-" & Range("J27") & ".xls")
MsgBox "檔案名稱 " & Format(Range("j5"), "EMMDD") & Range("C6") & (Range("K6") & "-" & Range("J27")) & " 另存成功!!"
End Sub

上個問題因為我的某儲存格和其它的儲存格合併起來的字數太長了,所以超過128字元了....才跑出這樣的問題

不好意思小弟最近才開始學習VBA的程式,還不太熟悉語法的套用

還有個小問題想請教各位先進,我想把上面紅色的部份,改成當前的檔案開啟的路徑不知道該怎麼寫才好,試了好幾種方式都套不進去....

感謝~:)
作者: carus1009    時間: 2014-11-13 10:55

Sub test()
aa = ThisWorkbook.Path
Set d1 = Workbooks(aa).Worksheets("估價單-含稅")
Workbooks.Open FileName:="C:\Users\Administrator\Google 雲端硬碟\行程表\開會資料.xls"
Workbooks("開會資料.xls").Activate
Set d3 = Workbooks("開會資料.xls").Worksheets("103年11月份")
d3.Range("a1").Select
Selection.End(xlDown).Select
d3.Range("a" & ActiveCell.Row + 1).Value = d1.Range("j5")
d3.Range("c" & ActiveCell.Row + 1).Value = d1.Range("c6")
d3.Range("d" & ActiveCell.Row + 1).Value = d1.Range("k6")
d3.Range("e" & ActiveCell.Row + 1).Value = 1
d3.Range("f" & ActiveCell.Row + 1).Value = d1.Range("j27")
d3.Range("g" & ActiveCell.Row + 1).Value = d1.Range("c7")
Workbooks("開會資料.xls").Close savechanges:=True
MsgBox ("處理完成")
End Sub

應該是這段才對.SORRY~




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