アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

質問者からの補足コメント

  • へこむわー

    ママチャリ様こちらこそ有難うございました。質問の仕方が下手ですみません。
    Sheet2の表のA列~F列の4行目までは貼り付けました、さらに同じ表(Sheet2)の下段でA列の15行目に他の班10班を貼り付けたいのですが、J=4はA列4行目になっていますよね、同じA列の15行目に
    他の班を貼り付けたい。-を使ったりして試してみましたが、ずれてしまってうまくA列15行目に貼り付けできません。宜しくお願いします。

      補足日時:2016/02/03 15:29

A 回答 (2件)

先日はべストアンサーありがとうございました。

ママチャリです。
今回もお役に立てればと思ったのですが、質問の意味がわかりません。
A列の15行目に貼り付けるのは、何が同じだからなのでしょうか?
    • good
    • 0

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
    • good
    • 0
この回答へのお礼

なるほどです。よく理解できました。ママチャリ様本当に有難うございました。配列も頑張って勉強します。

お礼日時:2016/02/05 08:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!