0

1 つのシートの区切られた列のコードがあります。ループを使用して複数のシートに対してこのコードを作成するにはどうすればよいですか?

Sub Macro1()

    Selection.TextToColumns Destination:=ActiveCell, DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="_", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
    ActiveCell.Offset(0, 1).Columns("A:A").EntireColumn.Select
    Selection.NumberFormat = "dd-mm-yyyy;@"

End Sub
4

2 に答える 2

1
Sub t()
    Dim sh As Worksheet
    For Each sh In ActiveWorkbook.Sheets
        'do what you want, for example, 
        Range("A1:B10").TextToColumns Destination:=ActiveCell, DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
            :="_", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
        ActiveCell.Offset(0, 1).Columns("A:A").EntireColumn.Select
        Selection.NumberFormat = "dd-mm-yyyy;@"
    Next
End Sub

ただし、使用しないでくださいSelectionrangeたとえば、代わりにa を使用する必要がありますRange("A1:B10")

于 2013-11-01T05:49:09.137 に答える