条件分岐させた転記が上手くいきません。
If文にIF文を入れ子させるやり方が間違っているのかもしれませんが、修正が出来ません。
・達成したいこと
「元帳」に入力した内容を種類(松、竹、梅)に応じて各材料シートに転記したいです。
ex. 種類が「梅」であれば、「ごぼう」シートの使用数列に1,「ちくわ」シートの使用数列に2,「しゅうまい」シートの使用数列に3を入力。
種類が「竹」であれば、「ごぼう」シートの使用数列に2,「ちくわ」シートの使用数列に3,「しゅうまい」シートの使用数列に4を入力。
種類が「松」であれば、「ごぼう」シートの使用数列に3,「ちくわ」シートの使用数列に4,「しゅうまい」シートの使用数列に5を入力。>
・エラーメッセージ
「Nextに対応するForがありません。」
ファイルリンク
エクセルファイル
VBA
1Sub tenki() 2 Worksheets("元帳").Activate 3 lastrow = Worksheets("元帳").Cells(Rows.Count, 1).End(xlUp).Row 4 5 Worksheets("松").Cells.Clear 6 Worksheets("竹").Cells.Clear 7 Worksheets("梅").Cells.Clear 8 9 10 j = 2 11 For i = 2 To lastrow 12 13 14 '元帳の日付(1列目)と注文者(2列目)に記入がある場合、各材料シートに転記する 15 16 If Worksheets("元帳").Cells(i, 1) <> "" And Worksheets("元帳").Cells(i, 1) <> "" Then 17 18 '元帳の日付(1列目)と注文者(2列目)に記入がある場合、各材料シートに転記する 19 20 If Worksheets("元帳").Cells(i, 3) = "梅" Then 21 22 '元帳の種類が「梅」の場合に下記数量を各シートに転記 23 24 Worksheets("ごぼう").Cells(j, 1) = Worksheets("元帳").Cells(i, 1).Value 25 Worksheets("ごぼう").Cells(j, 2) = 1 26 27 Worksheets("ちくわ").Cells(j, 1) = Worksheets("元帳").Cells(i, 1).Value 28 Worksheets("ちくわ").Cells(j, 2) = 2 29 30 Worksheets("しゅうまい").Cells(j, 1) = Worksheets("元帳").Cells(i, 1).Value 31 Worksheets("しゅうまい").Cells(j, 2) = 3 32 33 34 35 If Worksheets("元帳").Cells(i, 3) = "竹" Then 36 37 '元帳の種類が「竹」の場合に下記数量を各シートに転記 38 39 Worksheets("ごぼう").Cells(j, 1) = Worksheets("元帳").Cells(i, 1).Value 40 Worksheets("ごぼう").Cells(j, 2) = 2 41 42 Worksheets("ちくわ").Cells(j, 1) = Worksheets("元帳").Cells(i, 1).Value 43 Worksheets("ちくわ").Cells(j, 2) = 3 44 45 Worksheets("しゅうまい").Cells(j, 1) = Worksheets("元帳").Cells(i, 1).Value 46 Worksheets("しゅうまい").Cells(j, 2) = 4 47 48 49 50 If Worksheets("元帳").Cells(i, 3) = "松" Then 51 52 '元帳の種類が「松」の場合に下記数量を各シートに転記 53 54 Worksheets("ごぼう").Cells(j, 1) = Worksheets("元帳").Cells(i, 1).Value 55 Worksheets("ごぼう").Cells(j, 2) = 3 56 57 Worksheets("ちくわ").Cells(j, 1) = Worksheets("元帳").Cells(i, 1).Value 58 Worksheets("ちくわ").Cells(j, 2) = 4 59 60 Worksheets("しゅうまい").Cells(j, 1) = Worksheets("元帳").Cells(i, 1).Value 61 Worksheets("しゅうまい").Cells(j, 2) = 5 62 63 64 j = j + 1 65 66 End If 67 End If 68 69 Next 70End Sub 71
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/10 10:43
2018/01/10 14:40