【发布时间】:2022-08-02 18:13:05
【问题描述】:
我正在使用以下代码编辑 Excel 文件中的一些数据
Dim SF1 As Long
Dim EF1 As Long
Dim MaxRows As Long
SF1 = 2
MaxRows = Range(\"A1\").End(xlDown).Row
EF1 = MaxRows
While SF1 <= MaxRows
If Range(\"D\" & SF1) <> \"\" Then
Range(\"A\" & EF1).Value = Range(\"A\" & SF1).Value
Range(\"B\" & EF1).Value = Range(\"B\" & SF1).Value
Range(\"C\" & EF1).Value = Range(\"D\" & SF1).Value
SF1 = SF1 + 1
EF1 = EF1 + 1
Else
SF1 = SF1 + 1
End If
Wend
End Sub
但是,我想在达到 MaxRows 后将 D 列增加到 E 到...(理想情况下)ZZ 。你能给我提供任何意见吗?
我试过这样的事情:
Dim SF1 As Long
Dim EF1 As Long
Dim MaxRows as Long
Column As String
SF1=2
MaxRows = Range(\"A1\").End(xlDown).Row
EF1 = MaxRows
Col = \"D\"
While Col <>\"ZZ\"
While SF1 <= MaxRows
If Range(\"D\" & SF1) <> \"\" Then
Range(\"A\" & EF1).Value = Range(\"A\" & SF1).Value
Range(\"B\" & EF1).Value = Range(\"B\" & SF1).Value
Range(\"C\" & EF1).Value = Range(\"D\" & SF1).Value
SF1 = SF1 + 1
EF1 = EF1 + 1
Else
SF1 = SF1 + 1
End If
Wend
Col = Col+1
Wend
End Sub
这不起作用,因为它不兼容(字符串和+1,因为这是一个数字)。那么我如何在此处推进列,特别是考虑到 Z AA 之后跟随在 Excels 列名中。
感谢您的帮助和最好的问候!