回答編集履歴
3
実際の範囲へ合わせこみ
answer
CHANGED
@@ -1,28 +1,28 @@
|
|
1
1
|
VBAから直接CSVに出力するのはいかがでしょうか?
|
2
2
|
|
3
3
|
以下はCSVへの出力を行う手順をざっくり書いたものです
|
4
|
-
高速化、データ整形などの改善点は
|
4
|
+
高速化、データ整形などの改善点はいくつかありますが、参考までに
|
5
5
|
|
6
6
|
```
|
7
7
|
Sub writeCSV()
|
8
8
|
|
9
|
-
Dim ws As Worksheet
|
9
|
+
Dim ws As Worksheet
|
10
|
-
Set ws = ThisWorkbook.Worksheets(1)
|
10
|
+
Set ws = ThisWorkbook.Worksheets(1)
|
11
|
-
|
11
|
+
|
12
|
-
Dim csvFile As String
|
12
|
+
Dim csvFile As String
|
13
|
-
csvFile = ActiveWorkbook.Path & "\
|
13
|
+
csvFile = ActiveWorkbook.Path & "\data.csv"
|
14
|
-
Open csvFile For Output As #1
|
14
|
+
Open csvFile For Output As #1
|
15
|
+
Dim v As Variant
|
16
|
+
v = Range(Cells(5, 26), Cells(58, 27))
|
15
|
-
Dim i As Long, j As Long
|
17
|
+
Dim i As Long, j As Long
|
16
|
-
|
17
|
-
For i =
|
18
|
+
For i = 5 - 4 To 58 - 4 '1始まりに調整
|
18
|
-
|
19
|
+
For j = 26 - 25 To 27 - 25 '1始まりに調整
|
19
|
-
|
20
|
+
Print #1, v(i, j) & ",";
|
21
|
+
Next
|
22
|
+
Print #1, vbCr;
|
20
23
|
Next
|
21
|
-
Print #1, vbCr;
|
22
|
-
Next
|
23
|
-
|
24
|
-
Close #1
|
24
|
+
Close #1
|
25
|
-
|
25
|
+
|
26
26
|
MsgBox "data.csvに書き出しました"
|
27
27
|
|
28
28
|
End Sub
|
2
画像削除
answer
CHANGED
@@ -26,9 +26,4 @@
|
|
26
26
|
MsgBox "data.csvに書き出しました"
|
27
27
|
|
28
28
|
End Sub
|
29
|
-
```
|
29
|
+
```
|
30
|
-
###実行元Excel
|
31
|
-

|
32
|
-
|
33
|
-
###実行後CSV
|
34
|
-

|
1
画像の追記
answer
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
Set ws = ThisWorkbook.Worksheets(1)
|
11
11
|
|
12
12
|
Dim csvFile As String
|
13
|
-
csvFile = ActiveWorkbook.Path & "\
|
13
|
+
csvFile = ActiveWorkbook.Path & "\テスト.csv"
|
14
14
|
Open csvFile For Output As #1
|
15
15
|
Dim i As Long, j As Long
|
16
16
|
|
@@ -26,4 +26,9 @@
|
|
26
26
|
MsgBox "data.csvに書き出しました"
|
27
27
|
|
28
28
|
End Sub
|
29
|
-
```
|
29
|
+
```
|
30
|
+
###実行元Excel
|
31
|
+

|
32
|
+
|
33
|
+
###実行後CSV
|
34
|
+

|