我一直试图通过宏录制和讨论论坛将这些代码拼凑在一起,我似乎无法弄清楚我的问题是什么。
我绝不是一名Excel专业人士,但我已经浏览了很多网页,无法弄清楚如何解决这个问题。 我得到的当前错误是:
“未选择任何数据进行解析”。
双星号中的代码是调试器中突出显示的内容:
Sub Delimit_ImportARData()
'
'Delimit_ImportARData Macro
'
'
Columns("E:E").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("D:D").Select
Dim LastRow As Long
LastRow = Cells(Rows.Count, "D").End(xlUp).Row
**With Range("D1:D" & LastRow)
.TextToColumns Destination:=Range("D2"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(14, 1), Array(26, 1)),
TrailingMinusNumbers _:=True
End With**
Range("E1").Select
ActiveCell.FormulaR1C1 = "ALPHALOC"
Range("F1").Select
ActiveCell.FormulaR1C1 = "BU"
Range("F2").Select
ActiveWorkbook.Save
Range("A2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Windows("Southwest AR 7Jan_20_17.xlsm").Activate
Sheets("AR Southwest").Select
ActiveWindow.SmallScroll Down:=-9
Range("A2").Select
ActiveSheet.Paste
Range("V2").Select
End Sub
答案 0 :(得分:0)
可能不是你的问题,但下面一行肯定需要注意......
FieldInfo:=Array(Array(0, 1), Array(14, 1), Array(26, 1)),
应该是......
FieldInfo:=Array(Array(0, 1), Array(14, 1), Array(26, 1)), _
答案 1 :(得分:0)
错误包含在''一句,改变这个:
**With Range("D1:D" & LastRow)
.TextToColumns Destination:=Range("D2"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(14, 1), Array(26, 1)),
TrailingMinusNumbers _:=True
End With**
为此:
With Range("D1:D" & LastRow)
.TextToColumns Destination:=Range("D2"), dataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(14, 1), Array(26, 1)), _
TrailingMinusNumbers:=True
End With
当您尝试使用多行来放置" TextToColumns"方法的参数时,会生成错误。
请注意,在行的末尾" FieldInfo:= Array(Array(0,1),Array(14,1),Array(26,1)),"你必须写" _"在逗号后面,表示参数在下一行继续。太,在句子" TrailingMinusNumbers := True" ,标志" "仍然存在。
我希望这对你有所帮助。
温贝托