作者o1o3o1o31030 (主席)
看板Office
標題[算表] VBA執行問題
時間Mon Jul 17 18:39:11 2017
軟體: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://webptt.com/m.aspx?n=bbs/Office/M.1500287953.A.428.html
※ 編輯: o1o3o1o31030 (114.136.32.164), 07/17/2017 18:42:51
1F:→ soyoso: 測試原文的巨集碼配合表單建立按鈕連接,並無出現該錯誤 07/17 19:06
3F:→ soyoso: 提供檔案應會比較清楚 07/17 19:06
4F:→ o1o3o1o31030: S大,你如果連續操作兩次是否錯誤? 07/17 19:27
5F:→ o1o3o1o31030: S大我繼站內給你 07/17 19:28
6F:→ soyoso: 操作兩次上有出現"這裡已經有資料,您要取代這筆資料嗎?" 07/17 19:34
7F:→ soyoso: 的對話框,並無出現該錯誤 07/17 19:34
8F:→ o1o3o1o31030: 可能跟清單那頁的設計有關,我站內S大了 07/17 19:36
9F:→ soyoso: 檔案方面的連結可分享於該篇內,不限我回覆原po 07/17 19:39
※ 編輯: o1o3o1o31030 (114.136.32.164), 07/17/2017 19:45:36
10F:→ o1o3o1o31030: 檔案如內文! 感謝~ 07/17 19:45
11F:→ soyoso: -cells(3,7) 改為 -sheets("銷貨單").cells(3,7) 07/17 19:47
12F:→ soyoso: 小計部分同上加上sheets的部分 07/17 19:48
13F:→ o1o3o1o31030: 好了 感謝S大! 但是為何會這樣,明明VB裡直接按都行 07/17 20:02
14F:→ o1o3o1o31030: 難道在編譯器裡執行和連接按鈕執行監試有差異的?! 07/17 20:04