質問編集履歴
5
k
title
CHANGED
File without changes
|
body
CHANGED
@@ -85,7 +85,7 @@
|
|
85
85
|
Dim Csv_Import_File ' Excelファイルに取り込むCSVファイルの名前を入れ込む変数
|
86
86
|
Csv_Import_File = Application.GetOpenFilename("CSVファイル,*.csv") ' CSVファイルを選択する
|
87
87
|
|
88
|
-
MsgBox "先程選択した、
|
88
|
+
MsgBox "先程選択した、データを選択してください"
|
89
89
|
With CreateObject("ADODB.Stream")
|
90
90
|
.charset = "Shift-JIS"
|
91
91
|
.Open
|
4
やったことの追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -77,6 +77,43 @@
|
|
77
77
|
```
|
78
78
|
End With
|
79
79
|
|
80
|
+
|
81
|
+
### やったこと
|
82
|
+
```VBA
|
83
|
+
Dim buf As String, Target As String, i As Long
|
84
|
+
Dim records As Variant, items As Variant, j As Long
|
85
|
+
Dim Csv_Import_File ' Excelファイルに取り込むCSVファイルの名前を入れ込む変数
|
86
|
+
Csv_Import_File = Application.GetOpenFilename("CSVファイル,*.csv") ' CSVファイルを選択する
|
87
|
+
|
88
|
+
MsgBox "先程選択した、shopify返品データを選択してください"
|
89
|
+
With CreateObject("ADODB.Stream")
|
90
|
+
.charset = "Shift-JIS"
|
91
|
+
.Open
|
92
|
+
.LoadFromFile Csv_Import_File
|
93
|
+
buf = .ReadText
|
94
|
+
.Close
|
95
|
+
records = Split(buf, "#")
|
96
|
+
headers = Split(records(0), ",")
|
97
|
+
|
98
|
+
' header書き出し
|
99
|
+
For j = 0 To UBound(headers)
|
100
|
+
Worksheets(targetsheet).Cells(1, j + 1).Value = headers(j)
|
101
|
+
Next j
|
102
|
+
|
103
|
+
'カンマをセミコロンに置換
|
104
|
+
buf = ReplaceSeparator(buf, ",", ";")
|
105
|
+
buf = Replace(buf, """", "") '引用符(")を削除
|
106
|
+
|
107
|
+
records = Split(buf, "#") '#で分割して配列に
|
108
|
+
For i = 0 To UBound(records)
|
109
|
+
If i > 0 Then records(i) = "#" & records(i)
|
110
|
+
items = Split(records(i), ";") 'セミコロンで分割して配列に
|
111
|
+
'配列をセル範囲に代入
|
112
|
+
Worksheets(1).Cells(i + 1, 1).Resize(, UBound(items) + 1).Value = items
|
113
|
+
Next
|
114
|
+
End With
|
115
|
+
```
|
116
|
+
|
80
117
|
教えていただいたURL参考に行いましたが、CSVの値がすべて消えてしまいます。
|
81
118
|
recordsの中身がない状態です
|
82
119
|
[リンク内容](https://tonari-it.com/vba-csv-camma/)
|
3
エラー内容の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -58,4 +58,25 @@
|
|
58
58
|
|
59
59
|
```
|
60
60
|
|
61
|
-
"Tokyo3-369, Tokyo2F" こちらの個所からずれが発生いたします
|
61
|
+
"Tokyo3-369, Tokyo2F" こちらの個所からずれが発生いたします
|
62
|
+
|
63
|
+
### 対応したこと
|
64
|
+
```VBA
|
65
|
+
For i = 1 To UBound(records)
|
66
|
+
items = Split(records(i), ",")
|
67
|
+
For j = 0 To UBound(items)
|
68
|
+
If j = 0 And i <> 0 Then
|
69
|
+
Worksheets(targetsheet).Cells(i + 1, j + 1).Value = "#" + items(j)
|
70
|
+
Else
|
71
|
+
' Worksheets(targetsheet).Cells(i + 1, j + 1).Value = Replace(items(j), """", "")
|
72
|
+
Worksheets(targetsheet).Cells(i + 1, j + 1).Value = Split(Replace(replaceColon1(strLine), """", ""), ":")
|
73
|
+
End If
|
74
|
+
Next j
|
75
|
+
Call write_target(i, items, headers)
|
76
|
+
Next i
|
77
|
+
```
|
78
|
+
End With
|
79
|
+
|
80
|
+
教えていただいたURL参考に行いましたが、CSVの値がすべて消えてしまいます。
|
81
|
+
recordsの中身がない状態です
|
82
|
+
[リンク内容](https://tonari-it.com/vba-csv-camma/)
|
2
補足
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
VBA CSVを取り込む際に、
|
1
|
+
VBA CSVを取り込む際に、ダブルクォーテーション内のカンマを削除なり、置換をしたいです
|
body
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
CSVを取込み、エクセルシートに表示をすると値がずれてしまいます。
|
2
2
|
以下のコードを使用して取り込みましたが項目内のカンマで値がずれてしまいます・・
|
3
|
+
ダブルクォーテーション内のカンマを削除なり、置換をしたいです
|
3
4
|
replace等も使用しましたが、上手くいきません
|
4
5
|
ご教示いただけると幸いです
|
5
6
|
|
1
補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -52,6 +52,9 @@
|
|
52
52
|
<CSV>
|
53
53
|
```
|
54
54
|
Name,Email,Financial Status,Paid at,Fulfillment Status,Fulfilled at,Accepts Marketing,Currency,Subtotal,Shipping,Taxes,Total,Discount Code,Discount Amount,Shipping Method,Created at,Lineitem quantity,Lineitem name,Lineitem price,Lineitem compare at price,Lineitem sku,Lineitem requires shipping,Lineitem taxable,Lineitem fulfillment status,Billing Name,Billing Street,Billing Address1,Billing Address2,Billing Company,Billing City,Billing Zip,Billing Province,Billing Country,Billing Phone,Shipping Name,Shipping Street,Shipping Address1,Shipping Address2,Shipping Company,Shipping City,Shipping Zip,Shipping Province,Shipping Country,Shipping Phone,Notes,Note Attributes,Cancelled at,Payment Method,Payment Reference,Refunded Amount,Vendor,Outstanding Balance,Employee,Location,Device ID,Id,Tags,Risk Level,Source,Lineitem discount,Tax 1 Name,Tax 1 Value,Tax 2 Name,Tax 2 Value,Tax 3 Name,Tax 3 Value,Tax 4 Name,Tax 4 Value,Tax 5 Name,Tax 5 Value,Phone,Receipt Number,Duties,Billing Province Name,Shipping Province Name,Payment Terms Name,Next Payment Due At
|
55
|
-
#1041,addres,pending,,unfulfilled,,yes,JPY,5500,0,0,5500,"",0,送料,2021-07-21 20:45:23 +0900,1,AAAA N,5500,,062906810,true,false,pending,name,"Tokyo3-369, Tokyo2F",Tokyo3-369,Tokyo4F,,江東区,107-0000,JP-13,JP,'+81 00-0000-0000,00000000 : 111 ,"指定: なし
|
55
|
+
#1041,addres,pending,,unfulfilled,,yes,JPY,5500,0,0,5500,"",0,送料,2021-07-21 20:45:23 +0900,1,AAAA N,5500,,062906810,true,false,pending,name,**"Tokyo3-369, Tokyo2F"**,Tokyo3-369,Tokyo4F,,江東区,107-0000,JP-13,JP,'+81 00-0000-0000,00000000 : 111 ,"指定: なし
|
56
56
|
指定: 指定なし",,Ca"",0,A,30,,,,42348,"",Low,web,0,,,,,,,,,,,,,,東京都,東京都,,
|
57
|
+
|
57
|
-
```
|
58
|
+
```
|
59
|
+
|
60
|
+
"Tokyo3-369, Tokyo2F" こちらの個所からずれが発生いたします
|