|
▼γ さん:
>▼マリモ さん:
>>マクロの記録を使いましたが、なかなか思うように出来ませんでした。
>まず、そのマクロ記録の結果を示してください。
失礼いたしました。
【記録そのままの状態】
Sub test1()
'
' test1 Macro
'
'
Sheets("ベースシート").Select
Sheets("ベースシート").Copy Before:=Sheets(1)
Sheets("ベースシート (2)").Select
Sheets("ベースシート (2)").Name = "1"
Range("A2").Select
ActiveSheet.Paste
Selection.TextToColumns Destination:=Range("A2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Worksheets("1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("1").Sort.SortFields.Add Key:=Range("C2:C59"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("1").Sort
.SetRange Range("A2:C59")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("ベースシート").Select
Sheets("ベースシート").Copy Before:=Sheets(1)
Range("A2").Select
ActiveSheet.Paste
ActiveWorkbook.Worksheets("ベースシート (2)").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("ベースシート (2)").Sort.SortFields.Add Key:=Range( _
"C2:C99"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("ベースシート (2)").Sort
.SetRange Range("A2:C99")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("ベースシート (2)").Select
Sheets("ベースシート (2)").Name = "2"
ActiveWorkbook.Save
ActiveWindow.Close
Sheets("ベースシート").Select
Sheets("ベースシート").Copy Before:=Sheets(1)
Sheets("ベースシート (2)").Select
Sheets("ベースシート (2)").Name = "1"
Range("A2").Select
ActiveSheet.Paste
ActiveWorkbook.Worksheets("1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("1").Sort.SortFields.Add Key:=Range("C2:C91"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("1").Sort
.SetRange Range("A2:C91")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("ベースシート").Select
Sheets("ベースシート").Copy Before:=Sheets(1)
Sheets("ベースシート (2)").Select
Sheets("ベースシート (2)").Name = "2"
Range("A2").Select
ActiveSheet.Paste
ActiveWorkbook.Worksheets("2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("2").Sort.SortFields.Add Key:=Range("C2:C65"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("2").Sort
.SetRange Range("A2:C65")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
記録したまま実行をかけるとまず
Sheets("ベースシート").Select
ここでデバック表示が出てしまいました。
【こんな感じで始めるのかなと思っている部分】
Dim srcFName
Dim orgBook As Worksheet
Dim orgSheet As Worksheet
Dim bookPath As String
Dim r As Range
srcFName=Application GetOpenFilename("ベースシートBook,分析xlsx)
If VarType(srcFName) = vbBoolean Then Exit Sub
Set orgBook=Workbooks Open(srcFName)
ここではOpenのところがコンパイルエラーでステートメントの最後と表示されました。
よろしくお願いいたします。
|
|