回答編集履歴

1

返信に対する追記

2017/01/21 08:23

投稿

hatena19
hatena19

スコア33715

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  上記の点を考慮して、自分なりに、コードを書き直してみました。
12
12
 
13
- ```VBA
13
+ ```VB
14
14
 
15
15
  Public Sub 結果作成1()
16
16
 
@@ -28,7 +28,7 @@
28
28
 
29
29
  For R = 2 To .Range("b1048576").End(xlUp).Row '節点数繰り返し '2行目から開始
30
30
 
31
- outStr = outStr & Cells(R, C) & vbCrLf
31
+ outStr = outStr & .Cells(R, C) & vbCrLf
32
32
 
33
33
  Next
34
34
 
@@ -79,3 +79,91 @@
79
79
  End Sub
80
80
 
81
81
  ```
82
+
83
+
84
+
85
+ 返信に対する追記
86
+
87
+ ---
88
+
89
+
90
+
91
+ > 書き込みを行う前にいくらか他のセルに打ち込んだ文字列を
92
+
93
+ > Print 構文を使い事前に書きこませたいです。その場合にはどのようにすれば良いでしょうか?
94
+
95
+
96
+
97
+ Print は、
98
+
99
+ Open 出力ファイル For Output As #IntFlNo
100
+
101
+ で開いたファイルに1行ずつ書き込んでいくものです。
102
+
103
+ Open メソッドと Print メソッドはセットになります。
104
+
105
+ ですので、今回の回答のコードでは Print は使いません。
106
+
107
+
108
+
109
+ ```VB
110
+
111
+ With FSO.CreateTextFile(OutFile)
112
+
113
+ .Write outStr
114
+
115
+ .Close
116
+
117
+ End With
118
+
119
+ ```
120
+
121
+
122
+
123
+ は、変数outStr に格納されている文字列を一気にファイルに書き出すものです。
124
+
125
+
126
+
127
+ これを理解しておいてください。
128
+
129
+
130
+
131
+ > などのようにメモ書きをヘッダーとして書きこんでおきたいという事です。
132
+
133
+
134
+
135
+ 変数 outStr に事前に希望の文字列を代入しておくだけです。
136
+
137
+
138
+
139
+ 「メモ書き」がどこにあるのか不明ですが、
140
+
141
+ 「メモ書き」というシートのA1セルにあるなら、
142
+
143
+
144
+
145
+
146
+
147
+ ```VB
148
+
149
+ Public Sub 結果作成1()
150
+
151
+ Dim outStr As String
152
+
153
+ Dim C As Long, R As Long
154
+
155
+
156
+
157
+ outStr = ThisWorkbook.Worksheets("メモ書き").Cells(1, 1) 'これを挿入
158
+
159
+
160
+
161
+ '出力文字列生成
162
+
163
+ With ThisWorkbook.Worksheets("節点値")
164
+
165
+
166
+
167
+ '以下略
168
+
169
+ ```