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

給与計算結果の一覧表から給与明細に転記するマクロを作っていますが、最後の行まで繰り返しする方法がわかりません。

例えば
A列 B列
氏名 給与額
と入っていて、B列に給与額が入っている人のみ明細を作りたい場合で、
フォーマットのC列に氏名、D列に給与額を入れたいとします。

以下のように組んでみました。
Sub kyuyo()
'■その月の給与一覧表をセット
Dim W_s As Worksheet
Set W_s = ActiveSheet

'■データ転記
ActiveSheet.Range("C1").Value = W_s.Range("A2").Value '氏名
ActiveSheet.Range("D1").Value = W_s.Range("B2").Value '給与額

これを、B列に給与額が入っている人たちの分繰り返ししたいのですが、どうしたら良いでしょうか?

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

  • うーん・・・

    ネットで調べて、繰り返しの方法をいくつか試したのですが、うまくいかずこの質問に至っています。
    すみませんが、そのままコピペすれば良いレベルで教えていただけると助かります。

      補足日時:2019/07/29 15:17
  • うーん・・・

    Sub kyuyo()
    With Worksheets("20XX年XX月給与")
    For Each c In Cells(1, 2).Resize(Cells(rows.Count, 2).End(xlUp).row)
    Dim W_s As Worksheet
    Set W_s = ActiveSheet
    Worksheets("明細").Copy
    If c.Value <> 0 Then
    Worksheets("明細").Range("C1").Value = W_s.Range("a1").Value '氏名
    Worksheets("明細").Range("D1").Value = c.Offset(0, -1).Value '給与額
    ActiveSheet.Name = W_s.Range("b3").Range("a1").Value
    上記で、どこに間違いがあるでしょうか?

      補足日時:2019/07/30 15:23

A 回答 (2件)

こんにちは



たまたま、質問者様の別の質問に回答したサンプルが、繰り返し法のひとつの例にもなっています。(最終行をチェックする対象の列は異なりますが…)
https://oshiete.goo.ne.jp/qa/11228824.html

他にもいろいろな方法が考えられるとは思いますけれど、ご参考まで。
    • good
    • 0

do~untlで氏名が空白になるまで回す。

    • good
    • 0

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