Excel 创建宏以将UPC E条形码转换为UPC a

Excel 创建宏以将UPC E条形码转换为UPC a,excel,vba,Excel,Vba,我的问题是,在第一个循环oldupc仍然引用A1而不是设置为A2之后,我创建了msgboxes来跟踪循环中的进度。我需要偏移每个单元格吗 次级转换 Dim OldUPC作为字符串 Dim NewUPC作为字符串 调暗K为双倍,调暗i为双倍 作为整数的Dim L OldUPC=ActiveCell.Offset(0,-2).Value NewUPC=ActiveCell.Offset(0,1).Value K=单元格(Rows.Count,“A”)。结束(xlUp)。行 L=ActiveCell.

我的问题是,在第一个循环oldupc仍然引用A1而不是设置为A2之后,我创建了msgboxes来跟踪循环中的进度。我需要偏移每个单元格吗

次级转换

Dim OldUPC作为字符串
Dim NewUPC作为字符串
调暗K为双倍,调暗i为双倍
作为整数的Dim L
OldUPC=ActiveCell.Offset(0,-2).Value
NewUPC=ActiveCell.Offset(0,1).Value
K=单元格(Rows.Count,“A”)。结束(xlUp)。行
L=ActiveCell.Value
MsgBox(K)
'MsgBox OldUPC
'MsgBox NewUPC
“MsgBox L
范围(“c1”)。选择
对于i=1到11

如果(L>=0,L=6,L,我建议不要使用
ActiveCell
,而是使用迭代整数作为单元格行

如下所示:
单元格(i,3).value2=…
,其中i是行号,3是列号(因为您在C列中)

然后可以使用
单元格(i,3)进行偏移。偏移(1,0)。选择

这也会使代码运行得更快,因为在操作数据之前没有选择每个单元格

提示:如果要遍历行和列,可以执行以下操作,而不必担心选择了什么以及下一步是什么:

For RowNum = 1 to 11
    For ColNum = 1 to 11
        Cells(RowNum, ColNum).value = ""
    Next ColNum
Next RowNum
-因此,这将在11行中的每行中运行11列

For RowNum = 1 to 11
    For ColNum = 1 to 11
        Cells(RowNum, ColNum).value = ""
    Next ColNum
Next RowNum