[英]Looping through sheets is not working
我正在使用以下代碼
Sub WMC()
Dim wb As Workbook
Set wb = Workbooks.Open(Filename:="G:\filedirectory.xls")
With wb
For i = 1 To Sheets.Count
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True
Next i
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
由於某種原因,循環會運行,但不會從一張紙移動到下一張紙-我認為它只會在工作簿的第一張紙上運行相同的代碼大約十次(因為我有10張紙)。 如果我刪除該循環,則該循環將運行一次並關閉,以便代碼識別出該循環,而不會遵循該循環。 我已經嘗試了以上的變化,但每次都會遇到相同的問題。
任何想法將不勝感激。
丹科
雷切爾
您的With
塊不符合對象資格。
For i = 1 To Sheets.Count
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True
Next i
諸如Columns("A:A")
類的合格對象始終引用ActiveWorkbook
的ActiveSheet
。 您有一個With
塊,但沒有將此對象與With
塊關聯。
嘗試這個:
For i = 1 To .Sheets.Count
.Sheets(i).Columns("A:A").TextToColumns Destination:=.Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True
Next i
或者, 我的首選是只使用For Each
,在這種情況下沒有理由進行索引循環:
Dim ws as Worksheet
With wb
For each ws in .Worksheets
ws.Columns("A:A").TextToColumns Destination:=ws.Range("A1"), ...
Next
.Save
.Close
End With
您沒有指定代碼應該在哪張紙上工作,並且需要限定所有范圍:
Sub WMC()
Dim wb As Workbook
Set wb = Workbooks.Open(Filename:="G:\filedirectory.xls")
With wb
For i = 1 To .Sheets.Count
With .Sheets(i)
.Columns("A:A").TextToColumns Destination:=.Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True
End With
Next i
.Save
.Close
End With
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.