如何更正Excel中Worksheet

您所在的位置:网站首页 vbaworksheetchange 如何更正Excel中Worksheet

如何更正Excel中Worksheet

2023-04-13 15:44| 来源: 网络整理| 查看: 265

我正在尝试自动化一个过程,目前涉及单击Excel工作表上的一个名为“修复UPC”的按钮。该按钮查看文本格式的字符串,看看它是否为12个字符长,如果是,它将删除最后一位数字,然后将数字格式设置为“0-00000-00000”。该工作表将处理的绝大多数UPC都遵循UPC-A标准,但是像很多系统一样,我们的系统忽略了最后一个校验位,因此需要将其修剪为11,以便VLOOKUP正常工作。一些系统遵循13位EAN标准,因此需要保持不变。现在我在一个名为Helpers的模块中有以下函数:

Public Function deleteCheckDigit(theUPC) As String If Len(theUPC) = 12 Then deleteCheckDigit = Left(theUPC, 11) Else deleteCheckDigit = theUPC End If End Function

工作表上的专用子表为:

Private Sub Worksheet_Change(ByVal Target As Range) theCol = Helpers.GetColumnFromAddress(Target.Address) theValue = Range(Target.Address).Value If theCol = "A" Then If Len(theValue) = 12 Then Target.Value = Helpers.deleteCheckDigit(theValue) Range(Target.Address).NumberFormat = "0-00000-00000" End If End If End Sub

当我输入UPC并按Enter键时,Excel会抛出编译错误,说明ByRef argument type mismatch。我测试了VarType(theValue),它返回8,这意味着它是一个字符串,所以我看不出是什么导致了这个错误。注意:我设置了一个If/Then块来检查列字母,因为对不同的列进行了一些其他修改。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3