ExcelVBAの質問です。
Sheet1に次のデータがある時、班が1で役員IDが空白ならSheet2のすでに作られている表のA4に抽出して貼り付ける。さらに班が2で役員IDが空白ならSheet2のB4に貼り付ける事を~F4まで繰り返し表に当てはめるで
ママチャリ様からのご指摘でちゃんと出来ました。が同じA列の15行目に貼り付けるにはどうしたらよろしいでしょうか?すみませんが教えて頂けますか?たびたびすみません。宜しくお願いします。
Sub test()
Dim i As Long, j As Long, k As Long
Dim ws As Worksheet
Set ws = Worksheets(2)
j = 4
k = 4
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 3) = "1" And Cells(i, 5) = "" Then
j = j + 1
ws.Cells(j, 1) = Cells(i, 4)
End If
If Cells(i, 3) = "2" And Cells(i, 5) = "" Then
k = k + 1
ws.Cells(k, 2) = Cells(i, 4)
End If
Next i
End Sub
No.1
- 回答日時:
先日はべストアンサーありがとうございました。
ママチャリです。今回もお役に立てればと思ったのですが、質問の意味がわかりません。
A列の15行目に貼り付けるのは、何が同じだからなのでしょうか?
No.2ベストアンサー
- 回答日時:
J=4ですが、+1してから代入しているので、正確にはA列5行目ですね。
ご質問に書かれているコードを拡張するならば、10班用の変数、および、
判定等のIF文を追加することになると思います。とりあえず、10班用の
変数Lを追加したコードを下記に書いてみました。
しかし…10班もあるのですね?もしかして、もっと多いのでしょうか?
このままだと班の数だけ変数やIF文を追加しなければならないので、
冗長なプログラムになってしまいますね~
同じような変数(今回の場合はJ,K,Lなど)をたくさん使う時は、配列に
すると便利ですよ。頑張って勉強してみてください。
Sub test()
Dim i As Long, j As Long, k As Long, L As Long
Dim ws As Worksheet
Set ws = Worksheets(2)
j = 4
k = 4
L = 14
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 3) = "1" And Cells(i, 5) = "" Then
j = j + 1
ws.Cells(j, 1) = Cells(i, 4)
End If
If Cells(i, 3) = "2" And Cells(i, 5) = "" Then
k = k + 1
ws.Cells(k, 2) = Cells(i, 4)
End If
If Cells(i, 3) = "10" And Cells(i, 5) = "" Then
L = L + 1
ws.Cells(L, 1) = Cells(i, 4)
End If
Next i
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Visual Basic(VBA) 抽出結果を別シートに貼り付ける 2 2022/07/09 22:59
- Excel(エクセル) マクロ(データ取得と転記)について教えてください 3 2022/12/24 12:18
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
役職が二つ以上ある方の宛名の...
-
町内会で回覧板を回しますが文...
-
回覧板の書き方について。
-
恥を忍んで・・・(電話応対)
-
取締役は職業を聞かれた時にど...
-
社内メールの各位の使い方について
-
自社の執行役員の敬称
-
社長の所属と役職は?
-
PTAへの宛名書き
-
従業員数の正しい数え方
-
持って行ってもらうの尊敬語は??
-
自治会の会計年度と実務的な締め日
-
町会の名義で銀行通帳を作る方法
-
PTA総会には今年役員になっ...
-
欠席の場合、役員に当たっても...
-
役員退職金をもらって、同じ会...
-
CEOって宛名書く時どう表記...
-
代表取締役の方に 殿と記入でも...
-
「相談がありましたら」を丁寧...
-
官僚の課長クラスと対等な立場...
おすすめ情報
ママチャリ様こちらこそ有難うございました。質問の仕方が下手ですみません。
Sheet2の表のA列~F列の4行目までは貼り付けました、さらに同じ表(Sheet2)の下段でA列の15行目に他の班10班を貼り付けたいのですが、J=4はA列4行目になっていますよね、同じA列の15行目に
他の班を貼り付けたい。-を使ったりして試してみましたが、ずれてしまってうまくA列15行目に貼り付けできません。宜しくお願いします。