質問編集履歴
3
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -90,7 +90,7 @@
|
|
90
90
|
```
|
91
91
|
|
92
92
|
コード修正致しました。しかし、このコードでは10あるうち8行で止まってしまいます。
|
93
|
-
恐らくElseの分がFor rの方でカウントされてしまうからのようで、どのようにすれば総実行回数を割り出せるのでしょうか?
|
93
|
+
恐らくElseの分がFor rの方でカウントされてしまうからのようで、どのようにすれば総実行回数を割り出せるのでしょうか?この時、取引先は全てで4つで実験しています。
|
94
94
|
|
95
95
|
```VBA
|
96
96
|
For r = 2 To ws.Cells(Rows.Count, "A").End(xlUp).Row '取引先コードの分だけ処理する
|
2
コードの追加をしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -87,4 +87,27 @@
|
|
87
87
|
|
88
88
|
End Sub
|
89
89
|
|
90
|
+
```
|
91
|
+
|
92
|
+
コード修正致しました。しかし、このコードでは10あるうち8行で止まってしまいます。
|
93
|
+
恐らくElseの分がFor rの方でカウントされてしまうからのようで、どのようにすれば総実行回数を割り出せるのでしょうか?
|
94
|
+
|
95
|
+
```VBA
|
96
|
+
For r = 2 To ws.Cells(Rows.Count, "A").End(xlUp).Row '取引先コードの分だけ処理する
|
97
|
+
|
98
|
+
'取引先CDが同じ場合
|
99
|
+
If ws.Cells(o, "A") = CD.Cells(j, "A") Then '1つ下の行と値が同じ場合
|
100
|
+
ws.Rows(o).Copy Sheets(wsname & wsnumber).Rows(k) '一致した場合コピー
|
101
|
+
o = o + 1 'コピー先がひとつ下がる
|
102
|
+
k = k + 1
|
103
|
+
Else
|
104
|
+
'取引先コードが変わった時
|
105
|
+
wsnumber = wsnumber + 1 'Sheetを1足して作成
|
106
|
+
Worksheets.Add(After:=Worksheets(Worksheets.Count)) _
|
107
|
+
.name = (wsname & wsnumber) 'Sheetの追加
|
108
|
+
Sheets("Sheet1").Rows(1).Copy 'ヘッダーをコピー
|
109
|
+
Sheets(wsname & wsnumber).Rows(1).PasteSpecial (xlPasteAll) 'ヘッダーを貼付
|
110
|
+
j = j + 1 '取引先コードの分だけループなので、ひとつ下がる
|
111
|
+
k = 2
|
112
|
+
End If
|
90
113
|
```
|
1
シートの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,6 +5,17 @@
|
|
5
5
|
現在のコードだと1回で、終了してしまいます。
|
6
6
|
A列の取引先コードの数は決まっていません。取引先毎に出力するにはどうすればいいのでしょうか?
|
7
7
|
|
8
|
+
#### 現在のシート
|
9
|
+
|||
|
10
|
+
|取引先CD|請求先郵便番号|請求先住所1|
|
11
|
+
|:--|:--:|--:|
|
12
|
+
|20010|xxx-xxxx|xx県xx市|
|
13
|
+
|20010|xxx-xxxx|xx県xx市|
|
14
|
+
|20022|xxx-xxxx|xx県xx市|
|
15
|
+
|20022|xxx-xxxx|xx県xx市|
|
16
|
+
|20099|xxx-xxxx|xx県xx市|
|
17
|
+
||||
|
18
|
+
|
8
19
|
```VBA
|
9
20
|
Option Explicit
|
10
21
|
|