質問するログイン新規登録

Q&A

解決済

1回答

614閲覧

Excelに取り込んだCSVのデータ内の文字列を変換したい

yumknd

総合スコア2

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2022/06/05 09:35

0

0

CSVファイルをエクセルシートに取り込む下記のコード内に
指定列内の文字列を変換するコードを入れたいのですが、どこに入れたらいいでしょうか。

【下記のコードを入れたいです】
With Columns("O") 'O列を指定’
.Replace what:="A", replacement:="AA" ’Aという文字列をAAに変換’
.Replace what:="B", replacement:="BB" ’Bという文字列をBBに変換’
.Replace what:="C", replacement:="CC" ’Cという文字列をCCに変換’
End With

私、VBA初心者です。ご教示頂けますと幸いです。
間違っている点があったら教えていただきたいです。
コードはネット上から拝借しており、理解が追い付いてない部分があるかもしれません。ご了承くださいませ。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

Sub CSVファイルを読み込む()

Dim A_Sheet 'Excelファイルのシート名を入れ込む変数' Dim Csv_Import_File 'Excelファイルに取り込むCSVファイルの名前を入れ込む変数' A_Sheet = ActiveSheet.Name '現在アクティブなシート名を変数 A_Sheet に入れ込む' Csv_Import_File = Application.GetOpenFilename("CSVファイル,*.csv") 'CSVファイルを選択する' If Csv_Import_File = "False" Then Exit Sub 'キャンセルなら終了' ThisWorkbook.Sheets("〇〇データ").Range("A1:ZZ100000").ClearContents '「○○データ」シートのセル「A1~ZZ100000」をクリアする' With Workbooks.Open(Csv_Import_File) .Sheets(1).Cells.Copy ThisWorkbook.Sheets("〇〇データ").Range("A1") '全てのデータをこのブックの「○○データ」シートにコピー' .Close 'CSVファイルを閉じる' End With Worksheets(A_Sheet).Activate 'A_Sheet という名前のシートをアクティブにする'

End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

meg_

2022/06/05 09:59

> コードはネット上から拝借しており 引用元を明記しましょう。
jinoji

2022/06/06 00:14

最初にA_Sheet変数にシート名を格納した現在アクティブなシートと、csvファイルの内容をコピーする”○○データ”シートとは別のシートですか?
guest

回答1

0

ベストアンサー

Sub CSVファイルを読み込む() Dim Csv_Import_File 'Excelファイルに取り込むCSVファイルの名前を入れ込む変数' Csv_Import_File = Application.GetOpenFilename("CSVファイル,*.csv") 'CSVファイルを選択する' If Csv_Import_File = "False" Then Exit Sub 'キャンセルなら終了' Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("〇〇データ") ws.Range("A1:ZZ100000").ClearContents '「○○データ」シートのセル「A1~ZZ100000」をクリアする' With Workbooks.Open(Csv_Import_File) .Sheets(1).Cells.Copy ws.Range("A1") '全てのデータをこのブックの「○○データ」シートにコピー' .Close 'CSVファイルを閉じる' End With With ws.Columns("O") 'O列を指定’ .Replace what:="A", replacement:="AA" 'Aという文字列をAAに変換’ .Replace what:="B", replacement:="BB" 'Bという文字列をBBに変換’ .Replace what:="C", replacement:="CC" 'Cという文字列をCCに変換’ End With End Sub

投稿2022/06/06 00:27

jinoji

総合スコア4592

yumknd

2022/06/06 02:44

jinojiさん ご回答ありがとうございました! いただいたコードで行いたい作業が実施できました。 まだまだ作成中のため、また質問を投稿した際には助けていただけると嬉しいです。 他の皆様においても、追加修正依頼などにコメントをいただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問