テキストファイルからエクセルに転記するマクロ?というものを作成したいと思っていますが、何をどうすればよいかぜんぜんわからないでします。
お手数ですが作り方や参考になるHPがあれば教えていただきたいと思います。
ちなみにエクセル2000をつかっています。
<前提条件>
あるフォルダ配下に複数のテキストファイルがあり、各テキストファイルに文字列が書かれています。
それらのファイルをある条件でひとつのエクセルファイルのセルに転記していきます。
すべてのファイルから抽出した文字列をエクセルの1シートに転記していきます。
<テキストファイルの中身のイメージ>
■文字列文字列文字列■□もじ□もじ□■文字列文字列文字列■□文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列□■文字列文字列文字列■□文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列文字列□文字列□文字列文字列文字列文字列文字列文字列文字列文字列□
<テキストファイルからの転記条件>
(1)■と■ではさまれた文字列をA1のセルへ転記
(2)■の次の文字列(□)から次に出てくる■までの文字列(□もじ□もじ□)をB1のセルへ転記
(3)(1)(2)を繰り返し、それぞれA2,3,4・・・のセル、B2,3,4・・のセルに転記。
(4)次の■が見つからない場合、そのファイルの検索を終了し、フォルダ内の次のファイルを取得します。
(5)上記(1)から(4)をすべてのテキストファイルに対して行います。
以上がやりたいことです。
お手数ですがよろしくおねがいいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
【1】
>あるフォルダ配下に複数のテキストファイルがあり
これは、#1 さんがお書きの「Dir関数のヘルプ」をご覧ください。
MyPath = "D:\hoge\"
MyName = Dir(MyPath & "*.txt")
Do While MyName <> ""
▼ここで繰り返し処理
MyName = Dir
Loop
【2】
>各テキストファイルに文字列が書かれています。
>テキストファイルからエクセルに転記する
FileSystemObject オブジェクト の ReadAll メソッド でも使ってみましょうか。
Set objFSO = CreateObject("Scripting.FileSystemObject")
としておいて、
With objFSO.OpenTextFile(MyPath & MyName)
buf = .ReadAll
▼ここで、文字列変換
.Close
End With
【3】
><テキストファイルからの転記条件>
これは、列区切りを「■」にすれば済みますが、「■A列に入る文字列■□B列に入る文字列□■」という書式ですので、「□■」を行区切りと考えて、一旦分割し、さらに「■」で分割します。
buf = Split(buf, "□■")
For i = 0 To UBound(buf)
myStr = Split(buf(i), "■")
If UBound(myStr) > 0 Then
With Range("A" & Rows.Count).End(xlUp).Offset(1)
.Value = myStr(UBound(myStr) - 1)
.Offset(, 1).Value = myStr(UBound(myStr)) & "□"
End With
End If
Next i
以上で、"D:\hoge\" という「フォルダ配下に」ある「複数のテキストファイル」の中の
>(5)上記(1)から(4)をすべてのテキストファイルに対して行います。
なお、変数の宣言は
Dim objFSO As Object
Dim MyPath As String
Dim MyName As String
Dim buf As Variant
Dim i As Long
Dim myStr As Variant
でいけると存じます。
No.2
- 回答日時:
すぐに使えるエクセルVBAマクロ集
EXCELでお仕事
この2つのサイト、よく使うので参考に。
VBAを使いますからこれが初めてなら基本からみること。
テキストを行単位で読みセルにセットする、
フォルダのファイル名を列挙する
はありますから組み合わせます。
1行の中の文字検知は
文字数分1文字ずつ判定繰り返す、INSTR関数使う、区切り箇所にカンマ入れて2段階、等考えられます。文字列操作の関数をみて下さい。
No.1
- 回答日時:
そのテキストファイルどこでもらってくるんですか。
文字列A1(タブ)文字列B1(改行)
文字列A2(タブ)文字列B2(改行)
文字列A3(タブ)文字列B3(改行)
文字列A4(タブ)文字列B4(改行)
っていう形式なら、エクセルで開いて、形式を変えて保存するだけで、望みの形になります。
ということで、この形式でテキストファイルを作るようにするか、テキストファイルを文字列変換ユーティリティでこの形に変換するかしてからExcelに持ってくるのが早いでしょう。
その他の部分では
(1)1つのテキストファイルを開いて、エクセルで保存し、終了するマクロを作る
(2)それを複数のフォルダに適用するように改造する
のが早いでしょう。
(1)はマクロ記録で作れるでしょう。
(2)はDir関数を使います。Dir関数のヘルプを見てください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) googleスプレッドシートでカッコ内の文字数をカウントしたい 1 2023/01/17 15:52
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- Excel(エクセル) Excelの文字列を転記したいのですが。 2 2022/09/30 12:09
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) エクセルでA列セル内で折り返すことなく、文字列を、B列C列・・・側に一行に 2 2022/07/23 02:02
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) エクセルで文字列と数字が混在する列に書式設定したい。 3 2022/12/19 09:11
- Excel(エクセル) エクセルの日付から年末尾2桁と月を1月をA~Lに変換したい 3 2022/08/08 10:32
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで=より左の文字を一括で...
-
エクセルでアルファベットか数...
-
Excelで指数表現しないようにす...
-
VBAでの Replace関数で、ワイル...
-
エクセルで文字列をtxtファイル...
-
文字列からタブコードを取り除...
-
ACCESSのSQLでのカンマ’認識に...
-
同一セル内に関数と文字列を同...
-
ダブルコーテーションでアンド...
-
VBA2005 16進を2桁で表示したい。
-
エクセルで文字列の最大値を抽...
-
【Excel VBA】複数ある特定の文...
-
エクセル 数値データを桁をそ...
-
MS SQLServer のSQLで文字列の...
-
Excelで3E8を3.00E+8にしない方...
-
VBの「As String * 128」とは?
-
エクセルマクロ 特定の文字列...
-
Left関数とRight関数を合わせた...
-
textboxユーザーコントロールの...
-
sedなどで、特定の文字列の後の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
文字列からタブコードを取り除...
-
Excelで指数表現しないようにす...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列の最大値を抽...
-
MS SQLServer のSQLで文字列の...
-
エクセルで文字列をtxtファイル...
-
Left関数とRight関数を合わせた...
-
【Excel VBA】複数ある特定の文...
-
同一セル内に関数と文字列を同...
-
VBA2005 16進を2桁で表示したい。
-
VBの「As String * 128」とは?
-
エクセル 数値データを桁をそ...
-
Msgboxの×が押されたとき
-
Excelはなんで先頭の0を消すん...
-
16進数を10進数に簡単に変換す...
-
Pro c/c++ でホスト変数の後に....
-
[C言語]fputsとfprintfの違い
おすすめ情報