- ベストアンサー
CSVファイルを取り込み指定の形式にするマクロの作成方法
- Excelを使用してCSVファイルを取り込み、指定の形式に変換するマクロの作成方法
- マクロを使って、CSVファイルを取り込んだ後に必要な列の削除やフィルタリングを行う手順
- 取り込んだファイル名に基づいて、CSVファイルを保存する手順
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 私は、ご質問が良くわかっていないけれども、いくつかを足してみました。 Sub GetMyCSV() Dim FileName As String FileName = Application.GetOpenFilename _ ("Excel(*.csv),*.csv") If FileName = "False" Then Exit Sub Workbooks.Open FileName With ActiveSheet .Columns("C:H").ClearContents .Columns(1).Delete Shift:=xlToLeft .Range("A1").Value = "Number" .Rows(2).Delete Shift:=xlUp .UsedRange.Rows(1).AutoFilter _ Field:=1, _ Criteria1:="<>C*", _ Operator:=xlOr, _ Criteria2:="=C1*" ', _ Operator:=xlOr, _ Criteria2:="=AABC*" .AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete .AutoFilterMode = False End With '11文字よりも少ない場合はどうするか? FileName = Left$(ActiveWorkbook.Name, 11) Application.DisplayAlerts = False ActiveWorkbook.SaveAs FileName & "ABC" & ".csv", xlCSV ActiveWorkbook.Close False 'ブックは閉じる Application.DisplayAlerts = True End Sub
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 >・AABCではじまるものの抽出ができませんでした。 >それ以外は私の満足する仕様です。 それは、元のコードに、コメントブロックが入っていませんでしたか(^^; だから、そうしたのですが……。 Criteria2:="=C1*" ', _ ←ここの右端の「'」を外します。 Operator:=xlOr, _ Criteria2:="=AABC*" たぶん、これで、こちら側はOKですね。もし、そうだったら、次にの話に移ります。
補足
ありがとうございます。 「'」を外して解決しました。
補足
オートフィルタでの条件抽出で ・Cではじまらない ・C1ではじまる の条件抽出はうまくいきますが、 ・AABCではじまるものの抽出ができませんでした。 それ以外は私の満足する仕様です。