【发布时间】:2017-08-15 01:46:51
【问题描述】:
我是 excel 宏的新手,我正在创建一个宏,它需要格式化单元格并为 A 列生成条形码。创建了一个函数 Code128() 以将字符串转换为给定的条形码在blog 中,它工作正常。
我在下面创建的宏中使用它们
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
.PrintGridlines = True
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
End With
Columns("A").ColumnWidth = 10
For Each Target In Range("A1", Range("A" & Rows.Count).End(xlUp))
If Target.Value <> vbNullString Then
Target.Value = PERSONAL.XLSB!Code128(Target.Value)
Target.Resize(, 12).WrapText = True
Target.Font = "Code 128"
End If
Next
Next
但是当我在 excel 上运行宏时,我得到了运行时错误,例如
【问题讨论】:
-
我在个人工作簿下创建了函数,如图所示
-
我认为您不能以这种方式引用个人工作簿......编译器将
PERSONAL.XLSB解释为object.method调用,这是不正确的。等一下…… -
不是你不能使用这些功能,你只是不能以你尝试使用它们的方式使用它们。至于它们应该去哪里,它们不能放在一个.CSV文件中,你是把它们放在Book1还是Personal.xlsb中取决于你需要在哪里使用它们。如果它们只是本地辅助函数,则将它们放在 Book1 中。如果它们是您可能在许多不同文件上使用的通用函数,请将它们放入 Personal。
-
有什么办法可以解决这个问题。