Vba excel宏中的运行时错误424

Vba excel宏中的运行时错误424,vba,excel,code128,Vba,Excel,Code128,我不熟悉excel宏,我正在创建一个宏,该宏需要格式化单元格,还需要生成a列的条形码。创建了一个函数代码128,将字符串转换为中给出的条形码,效果很好 我在下面创建的宏中使用它们 With ActiveSheet.PageSetup .PrintTitleRows = "$1:$1" .PrintGridlines = True .Orientation = xlLandscape .PaperSize = xlPaperA4 .Zoom = False .FitToPages

我不熟悉excel宏,我正在创建一个宏,该宏需要格式化单元格,还需要生成a列的条形码。创建了一个函数代码128,将字符串转换为中给出的条形码,效果很好

我在下面创建的宏中使用它们

 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上运行宏时,会出现如下运行时错误

您应该能够使用Application.Run对其他工作簿中存在的函数求值。其格式为:

Target.Value = Application.Run("PERSONAL.XLSB!Module2.Code128", Target.Value)
或者更一般地说:

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

除此之外,您可以在您的Book1中使用。

我在个人工作簿下创建了函数,它如图所示。我认为您不能以这种方式引用个人工作簿。。。。编译器正在将PERSONAL.XLSB解释为object.method调用,这是不正确的。等等…不是你不能使用这些函数,你只是不能用你试图使用它们的方式。至于它们应该放在哪里,它们不能放在.CSV文件中,而您是否将它们放在Book1或Personal.xlsb中取决于您需要在哪里使用它们。如果它们只是本地助手函数,则将它们放在Book1中。如果它们是可以在许多不同文件上使用的通用函数,请将它们放在Personal中。解决方法是什么。现在我在Target.Font=Code 128行中得到了错误。我需要转换A列中值的字体样式。它再次表示对象不支持此属性或方法。我已经安装了字体代码128,并在excel字体下拉列表中看到它们list@user4912134请尝试Target.Font.Name=code 128。