質問編集履歴
2
テキストファイルの内容を追記
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
現状のコード追加
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
|
+
```
|