看板 Office 關於我們 聯絡資訊
軟體: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
soyoso: 測試原文的巨集碼配合表單建立按鈕連接,並無出現該錯誤 07/17 19:06
soyoso: https://youtu.be/Wj3XyOMGwTA 07/17 19:06
soyoso: 提供檔案應會比較清楚 07/17 19:06
o1o3o1o31030: S大,你如果連續操作兩次是否錯誤? 07/17 19:27
o1o3o1o31030: S大我繼站內給你 07/17 19:28
soyoso: 操作兩次上有出現"這裡已經有資料,您要取代這筆資料嗎?" 07/17 19:34
soyoso: 的對話框,並無出現該錯誤 07/17 19:34
o1o3o1o31030: 可能跟清單那頁的設計有關,我站內S大了 07/17 19:36
soyoso: 檔案方面的連結可分享於該篇內,不限我回覆原po 07/17 19:39
※ 編輯: o1o3o1o31030 (114.136.32.164), 07/17/2017 19:45:36
o1o3o1o31030: 檔案如內文! 感謝~ 07/17 19:45
soyoso: -cells(3,7) 改為 -sheets("銷貨單").cells(3,7) 07/17 19:47
soyoso: 小計部分同上加上sheets的部分 07/17 19:48
o1o3o1o31030: 好了 感謝S大! 但是為何會這樣,明明VB裡直接按都行 07/17 20:02
o1o3o1o31030: 難道在編譯器裡執行和連接按鈕執行監試有差異的?! 07/17 20:04