2017-01-26 37 views
0

我一直在試圖通過宏錄製和討論論壇將這些代碼拼湊在一起,我似乎無法弄清楚我的問題是什麼。當行數將改變時劃定數據(固定寬度)

我絕不是一個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

我不相信你的目的地可以是源相同。 – tlemaster

回答

0

可能不是你的問題,但下面這行肯定需要注意...

FieldInfo:=Array(Array(0, 1), Array(14, 1), Array(26, 1)), 

應...

FieldInfo:=Array(Array(0, 1), Array(14, 1), Array(26, 1)), _ 
0

錯誤包含在集團「用」一句中的k,改變這種:

**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」方法的參數生成

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 

錯誤。

請注意,在行「FieldInfo:= Array(Array(0,1),Array(14,1),Array(26,1))」的末尾,必須在「逗號,表示參數在下一行繼續。另外,在句子「TrailingMinusNumbers := True」中,符號「」仍然存在。

我希望這對你有所幫助。

溫貝託