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

質問編集履歴

2

テキストファイルの内容を追記

2018/07/25 08:21

投稿

cho
cho

スコア23

title CHANGED
File without changes
body CHANGED
@@ -65,4 +65,16 @@
65
65
  Set ReadWBk = Nothing
66
66
  End Sub
67
67
 
68
- ```
68
+ ```
69
+
70
+ 対象のテキストファイルの内容の一例です。
71
+ __hoge1.txt__
72
+ 219809
73
+ Surname
74
+ TANAKA
75
+ Middle name
76
+ AA
77
+ Given Name
78
+ hogehoge
79
+
80
+ ※Surnemaなどキーとなる文字は全てのファイルに必ずしも含まれるわけではありません。

1

現状のコード追加

2018/07/25 08:21

投稿

cho
cho

スコア23

title CHANGED
File without changes
body CHANGED
@@ -28,4 +28,41 @@
28
28
  量が多くて困っています。
29
29
  マクロがほとんど書けないので、ご教示いただければ幸いです。
30
30
 
31
- よろしくお願いします。
31
+ よろしくお願いします。
32
+
33
+ ちなみに、1ファイル分の実行は以下のように組んでみました。
34
+ これを複数ファイルに出力セルを下にずらしながら適応していければよいかと考えています。
35
+ ```VBA
36
+ Sub PasteFromCSV()
37
+ Const CSV_FILE = "C:\hoge1.txt"
38
+ Dim ReadWBk As Workbook
39
+ Dim WriteWBk As Workbook
40
+ Dim WriteSht As Worksheet
41
+ Dim Rng As Range
42
+
43
+ Set WriteWBk = ActiveWorkbook
44
+ Set WriteSht = WriteWBk.ActiveSheet
45
+
46
+ Set ReadWBk = Workbooks.Open(CSV_FILE)
47
+
48
+ 'ここから
49
+ Dim ReadSht As Worksheet
50
+ Dim rngStart As Range '開始セル
51
+ Dim rngEnd As Range '終了セル
52
+
53
+ Set ReadSht = ReadWBk.Worksheets.Item(1)
54
+
55
+ Set rngStart = ReadSht.Range("A:A").Find("Surname")
56
+ Set rngEnd = ReadSht.Range("A:A").Find("Middle name")
57
+
58
+ Range(rngStart, rngEnd).Copy
59
+ 'ここまでデータの取り方検討中
60
+
61
+ WriteSht.Range("B1").PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, False, False
62
+
63
+ ReadWBk.Close
64
+
65
+ Set ReadWBk = Nothing
66
+ End Sub
67
+
68
+ ```