[算表] VBA執行問題

看板Office作者 (主席)時間8年前 (2017/07/17 18:39), 8年前編輯推噓0(0014)
留言14則, 2人參與, 最新討論串1/1
軟體:EXCEL 版本:2013 各位版大好~ 我寫了一個銷貨單匯入清單的VB 奇怪的是 我從編譯器內案執行一切順利 但是在表單建立按鈕連接VBA程式後 一直出現執行錯誤:型態不符合 重點是我用msgbox回變數型態都是double 第一次遇到這樣 不知道有沒有人知道甚麼 http://imgur.com/a/D1IU7 http://imgur.com/a/D1IU7 感謝 原檔案 https://drive.google.com/file/d/0B5FM7x4Wx7AjcGhvWEJDSGFQT1k/view?usp=sharing 原文如下 Public Sub 匯入清單() Application.ScreenUpdating = False Dim r, m, i As Integer r = Sheets("清單").Cells(66666, 2).End(xlUp).Row m = WorksheetFunction.CountA(Sheets("銷貨單").Range("B6:B17")) + 1 '填入對應數量 With Sheets("清單") .Unprotect .Range(.Cells(r + 1, 1), .Cells(r + m, 1)) = Range("G1").Value - 1 .Range(.Cells(r + 1, 2), .Cells(r + m, 2)) = Range("C1") .Range(.Cells(r + 1, 3), .Cells(r + m, 3)) = Range("C2") .Range(.Cells(r + 1, 4), .Cells(r + m, 4)) = Range("C3") Range(Cells(6, 2), Cells(6 + m - 2, 7)).Copy .Range(.Cells(r + 1, 5), .Cells(r + m - 3, 10)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False .Cells(r + m, 5) = "折讓" On Error GoTo XX .Cells(r + m, 9).Value = -Cells(3, 7) XX: MsgBox TypeName(.Cells(r + m, 9).Value) & TypeName(-Cells(3, 7)) .Cells(r + m, 11) = Cells(2, 7) With .Range(.Cells(r + m, 1), .Cells(r + m, 11)).Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorAccent6 .TintAndShade = 0.599993896298105 .PatternTintAndShade = 0 End With .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True '.EnableSelection = xlNoSelection End With Application.ScreenUpdating = True End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.32.164 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1500287953.A.428.html ※ 編輯: o1o3o1o31030 (114.136.32.164), 07/17/2017 18:42:51

07/17 19:06, , 1F
測試原文的巨集碼配合表單建立按鈕連接,並無出現該錯誤
07/17 19:06, 1F

07/17 19:06, , 2F

07/17 19:06, , 3F
提供檔案應會比較清楚
07/17 19:06, 3F

07/17 19:27, , 4F
S大,你如果連續操作兩次是否錯誤?
07/17 19:27, 4F

07/17 19:28, , 5F
S大我繼站內給你
07/17 19:28, 5F

07/17 19:34, , 6F
操作兩次上有出現"這裡已經有資料,您要取代這筆資料嗎?"
07/17 19:34, 6F

07/17 19:34, , 7F
的對話框,並無出現該錯誤
07/17 19:34, 7F

07/17 19:36, , 8F
可能跟清單那頁的設計有關,我站內S大了
07/17 19:36, 8F

07/17 19:39, , 9F
檔案方面的連結可分享於該篇內,不限我回覆原po
07/17 19:39, 9F
※ 編輯: o1o3o1o31030 (114.136.32.164), 07/17/2017 19:45:36

07/17 19:45, , 10F
檔案如內文! 感謝~
07/17 19:45, 10F

07/17 19:47, , 11F
-cells(3,7) 改為 -sheets("銷貨單").cells(3,7)
07/17 19:47, 11F

07/17 19:48, , 12F
小計部分同上加上sheets的部分
07/17 19:48, 12F

07/17 20:02, , 13F
好了 感謝S大! 但是為何會這樣,明明VB裡直接按都行
07/17 20:02, 13F

07/17 20:04, , 14F
難道在編譯器裡執行和連接按鈕執行監試有差異的?!
07/17 20:04, 14F
文章代碼(AID): #1PR9FHGe (Office)
文章代碼(AID): #1PR9FHGe (Office)