0

我是 excel 宏的新手,我正在创建一个宏,它需要格式化单元格并为 A 列生成条形码。创建了一个函数 Code128() 将字符串转换为博客中给出的条形码它工作正常。

在此处输入图像描述

我在创建的宏中使用它们,如下所示

 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上运行宏时,我得到了运行时错误,比如

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

您应该能够用来Application.Run评估另一个工作簿中存在的函数。它的格式是:

Target.Value = Application.Run("PERSONAL.XLSB!Module2.Code128", Target.Value)

或更一般地说:

= Application.Run(workbookname$ & "!" & modulename & "." & functionname, args())

除此之外,您可以在 Book1 中添加对 Personal.xlb 的引用。

于 2017-03-22T19:14:16.433 回答