我正在尝试在一张纸上重新排列到另一张纸上的一行,由第一张纸上的一列控制。
。我正在浏览代码,用F8命令调试,并在末尾遇到了循环命令的问题。我会得到一个"无需做的循环"编译错误,并带有"循环",直到"末端"由Excel突出显示。
这是应该做的:
" jcx"(10,attributerowcounter)和" 08-attribute"(1,attributerowcounter)应匹配,并控制" jcx" 08-attribute"中的哪一行(11,attributerowcounter"值去。
" 08-attribute"(9,attributerowcounter)值控制" jcx"中的哪个列将" 08-attribute"(11,attributerowcounter)放置。
如果" 08-attribute"中有一个值列表(1,attributerowcounter),称为ahu-2,则在" 08-attribute"(9,attributerowcounter)中具有相应的值列表为" cfmlat,rpm和sp",然后在" 08-attribute"(11,属性)中使用CFM(9,attributerowcounter)中的值在" jcx"(14,tagnumberrow)中。
" 08-attribute"(11,attributerowcounter)中的值(9,attributerowcounter)在" jcx"(16,tagnumberrow)中。
" 08-attribute"(11,attributerowcounter)中的值(9,attributerowcounter)在" jcx"(15,tagnumberrow)中。
如果在" 08-attribute"(11,attributerowcounter)中有一个值,该值以外的内容(9,sp,rpm和Motor hp"(9,attributerowcounter),则在(然后是(然后是)中值(11,attributerowcounter)在" jcx"(21,tagnumberrow)中,而(9,attributerowcounter)中的值则为" jcx"(20,tagnumberrow)。
上一个先前的语句循环,要加载任何其他非" CFM,sp,rpm和电动机HP"值,然后根据需要跳过(names1,value1,name2,value2,name3),value3等)。
有人知道发生了什么事吗?
'Tag Values
Do
With Sheets("08-Attribute")
Copy.Range("9,AttributeRowCounter").Value
Application.WorksheetFunction.VLookup((Sheets("JCX").Cells(10, AttributeRowCounter)), (Sheets("08-Attribute").Cells(1, AttributeRowCounter)), True).Value
With Sheets("08-Attribute")
If "9,AttributeRowCounter" = "CFM" Then
.Range("11,AttributeRowCounter").Value = Sheets("JCX").Range("14,TagNumberRow").Value
ElseIf "9" = "SP" Then
.Range("11,AttributeRowCounter").Value = Sheets("JCX").Range("15,TagNumberRow").Value
ElseIf "9" = "RPM" Then
.Range("11,AttributeRowCounter").Value = Sheets("JCX").Range("16,TagNumberRow").Value
ElseIf "9" = "Motor_HP" Then
.Range("11,AttributeRowCounter").Value = Sheets("JCX").Range("17,TagNumberRow").Value
Else
.Range("9,AttributeRowCounter").Value = Sheets("JCX").Range("20,TagNumberRow").Value
TagValueNameColumn = TagValueNameColumn + 2
.Range("11,AttributeRowCounter").Value = Sheets("JCX").Range("21,TagNumberRow").Value
TagValueNameColumn = TagValueNameColumn + 2
Loop Until Cells(1, AttributeRowCounter) = False
如果缩进,问题会变得更加清晰。
Do
With Sheets("08-Attribute")
copy.Range("9,AttributeRowCounter").Value
Application.WorksheetFunction.VLookup((Sheets("JCX").Cells(10, attributerowcounter)), (Sheets("08-Attribute").Cells(1, attributerowcounter)), True).Value
With Sheets("08-Attribute")
If "9,AttributeRowCounter" = "CFM" Then
.Range("11,AttributeRowCounter").Value = Sheets("JCX").Range("14,TagNumberRow").Value
ElseIf "9" = "SP" Then
.Range("11,AttributeRowCounter").Value = Sheets("JCX").Range("15,TagNumberRow").Value
ElseIf "9" = "RPM" Then
.Range("11,AttributeRowCounter").Value = Sheets("JCX").Range("16,TagNumberRow").Value
ElseIf "9" = "Motor_HP" Then
.Range("11,AttributeRowCounter").Value = Sheets("JCX").Range("17,TagNumberRow").Value
Else
.Range("9,AttributeRowCounter").Value = Sheets("JCX").Range("20,TagNumberRow").Value
TagValueNameColumn = TagValueNameColumn + 2
.Range("11,AttributeRowCounter").Value = Sheets("JCX").Range("21,TagNumberRow").Value
TagValueNameColumn = TagValueNameColumn + 2
End If 'new
End With 'new
End With 'new
Loop Until Cells(1, attributerowcounter) = False
底部附近的三条线在末端具有'new
,以关闭If
块和两个With
块。