大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAを使って、CSVファイルを上書き保存するには「.Save」を使います。CSVファイルを開く方法として、フルパスを指定する方法、現在パスから指定する方法、ダイアログを使う方法があります。CSVの操作方法について、マスターしていきましょう。

はじめに

この記事では、CSVファイルを開いて編集後に上書き保存する方法について、ご紹介します。

上書き保存するには、「.Save」を使います。

CSVファイルを開く方法としては、フルパスを指定する方法、現在パスから指定する方法、ダイアログを使う方法があります。

CSVの操作についてマスターしていきましょう。

では、CSVファイルを開いて編集後に上書き保存する方法について、解説していきます。

この記事を読むメリット

  • CSVファイルを操作する方法がわかります。

目次から見たい項目へ移動すると便利ですよ。

目次

CSVを開いて編集して上書き保存して閉じる

CSVを開いて編集して上書き保存して閉じてみます。

フルパスを指定する

CSVファイルを開く方法として、まずはフルパスを指定する方法でやってみます。

CSVファイルを上書き保存するには「.Save」を使って、CSVファイルを閉じるには「.Close」を使います。

Sub TEST1()
  
  'CSVファイルを開く
  Workbooks.Open "C:\Users\user\Desktop\TEST.csv"
  Range("B3") = 9999 'CSVファイルを修正
  ActiveWorkbook.Save '上書き保存
  ActiveWorkbook.Close '閉じる
  
End Sub

CSVを開いて編集して上書き保存して閉じてみます。

CSVを開いて編集して上書きして閉じる

CSVを開いて編集して上書き保存して閉じてみます

では、VBAコードを実行してみます。

VBAコードを実行

まずは、CSVファイルを開きます。

CSVファイルを開きます

CSVファイルが編集されます。

CSVファイルが編集されます

CSVファイルを上書きして、閉じます。

CSVファイルを上書きして、閉じます

これで、CSVファイルを上書き保存できます。

上書きできた

CSVファイルを上書き保存できました

CSVファイルを上書き保存できました。

条件を指定して編集する

ForやIfを使って、条件を指定してCSVを編集することもできます。

「B」の商品を検索して「価格」と「数量」を変更するVBAコードです。

Sub TEST2()
  
  'CSVファイルを開く
  Workbooks.Open "C:\Users\user\Desktop\TEST.csv"
  '商品が「B」である行を検索して、価格と数量に「9999」を入力
  For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
    If Cells(i, "A") = "B" Then
      Cells(i, "A").Offset(0, 1) = 9999 '価格
      Cells(i, "A").Offset(0, 2) = 9999 '数量
    End If
  Next
  ActiveWorkbook.Save '上書き保存
  ActiveWorkbook.Close '閉じる
  
End Sub

Bを検索して、「価格」と「数量」を変更してみます。

Bの「価格」と「数量」を変更して上書き

Bを検索して、「価格」と「数量」を変更してみます

実行すると、Bの「価格」と「数量」を変更できます。

上書きできた

Bの「価格」と「数量」を変更できました

Bの「価格」と「数量」を変更できました。

現在パスから指定する

ファイルパスを指定する際に、現在パスを使って指定すると便利です。

Sub TEST3()
  
  '現在ブックからファイルパスを指定して、CSVファイルを開く
  Workbooks.Open ThisWorkbook.Path & "\TEST.csv"
  Range("B3") = 9999 'CSVファイルを編集
  ActiveWorkbook.Save '上書き保存
  ActiveWorkbook.Close '閉じる
  
End Sub

現在パスからCSVファイルを指定して、上書き保存してみます。

現在パスからCSVを指定して上書き

現在パスからCSVファイルを指定して、上書き保存してみます

実行すると、CSVファイルを上書きできます。

上書きできた

CSVファイルを上書きできました

CSVファイルを上書きできました。

ファイル選択用ダイアログを使う

ファイル選択用ダイアログを使って、CSVファイルを開いて上書き保存してみます。

ファイル選択用ダイアログは「Application.GetOpenFilename」を使います。

Sub TEST4()
  
  '初期フォルダを設定
  With CreateObject("WScript.Shell")
    .CurrentDirectory = ThisWorkbook.Path '現在のフォルダ
  End With
  
  Dim A
  'ファイル選択用のダイアログを開く
  A = Application.GetOpenFilename(",*.csv")
  If A = False Then Exit Sub 'キャンセルの場合は閉じる
  
  Workbooks.Open A 'CSVファイルを開く
  Range("B3") = 9999 'CSVファイルを編集
  ActiveWorkbook.Save '上書き保存
  ActiveWorkbook.Close '閉じる
  
End Sub

ファイル選択用ダイアログを使ってファイルを開いて、CSVを上書きします。

VBAコードを実行してみます。

ダイアログで選択してCSVを上書き

ファイル選択用のダイアログが表示されます。

ファイル選択用のダイアログが表示されます

CSVを選択して、開くをクリックします。

CSVを選択して、開くをクリックします

CSVを上書きできます。

上書きできた

CSVを上書きできました

CSVを上書きできました。

おわりに

この記事では、CSVファイルを開いて編集後に上書き保存する方法について、ご紹介しました。

上書き保存するには、「.Save」を使います。

CSVファイルを開く方法としては、フルパスを指定する方法、現在パスから指定する方法、ダイアログを使う方法があります。

CSVの操作についてマスターしていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す