首页 > 解决方案 > VBA昏暗长投错误6

问题描述

我是 VBA 的新手,希望有人能帮助我理解为什么“ean”行会引发运行时错误 6:

Sub RemovalOf_Barcodes()   
Application.ScreenUpdating = True    
Dim i As Long    
Dim temp As Long    
Dim ean As Long    
Dim y As Long    


i = 2    
Do While Cells(i, 2) <> ""   
i = i + 1   
Loop   
i = i - 1   

For y = 2 To i   
    ean = Cells(y, 2).Value   
Next y 

我也尝试过使用下面

For y = 2 To i
    temp  =  Cells(y, 2).Value
    ean = Clng(temp)   
Next y 

我喜欢我能得到的所有帮助:)

标签: vbaexcel

解决方案


您的问题是 EAN 号码的长度通常为 13 位,而您正试图将其存储在Long

Dim ean As Long   

如果您必须将其存储为数值(为什么!?您在对其进行数学运算吗?),请尝试将其存储在Double. 如果它是一个没有小数位的普通 EAN,我认为它Double会起作用。

Dim ean As Double

但正如@Vityata 建议的那样,String更适合这个目的。


推荐阅读