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

質問編集履歴

5

2021/09/22 05:05

投稿

dmg
dmg

スコア8

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 "先程選択した、shopify返品データを選択してください"
88
+ MsgBox "先程選択した、データを選択してください"
89
89
  With CreateObject("ADODB.Stream")
90
90
  .charset = "Shift-JIS"
91
91
  .Open

4

やったことの追記

2021/09/22 05:05

投稿

dmg
dmg

スコア8

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

エラー内容の追記

2021/09/21 15:56

投稿

dmg
dmg

スコア8

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

補足

2021/09/21 07:22

投稿

dmg
dmg

スコア8

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

補足

2021/09/21 05:38

投稿

dmg
dmg

スコア8

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" こちらの個所からずれが発生いたします