• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:csvファイルを取り込み指定の形式にする)

CSVファイルを取り込み指定の形式にするマクロの作成方法

このQ&Aのポイント
  • Excelを使用してCSVファイルを取り込み、指定の形式に変換するマクロの作成方法
  • マクロを使って、CSVファイルを取り込んだ後に必要な列の削除やフィルタリングを行う手順
  • 取り込んだファイル名に基づいて、CSVファイルを保存する手順

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 私は、ご質問が良くわかっていないけれども、いくつかを足してみました。 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

m1z
質問者

補足

オートフィルタでの条件抽出で ・Cではじまらない ・C1ではじまる の条件抽出はうまくいきますが、 ・AABCではじまるものの抽出ができませんでした。 それ以外は私の満足する仕様です。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >・AABCではじまるものの抽出ができませんでした。 >それ以外は私の満足する仕様です。 それは、元のコードに、コメントブロックが入っていませんでしたか(^^; だから、そうしたのですが……。  Criteria2:="=C1*" ', _    ←ここの右端の「'」を外します。          Operator:=xlOr, _          Criteria2:="=AABC*"     たぶん、これで、こちら側はOKですね。もし、そうだったら、次にの話に移ります。

m1z
質問者

補足

ありがとうございます。 「'」を外して解決しました。

関連するQ&A