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

以下の様に、B列セルにa~d、各aに対するA列セルに1、2・・・となっている表があり、
このA列の1、2・・・を、各aから各bへコピー(A2、A6・・・)するfor~next文を
教えてください。

| 1 | a |
| | b |
| | c |
| | d |
| 2 | a |
| | b |
| | c |
| | d |
: :
: :

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

  • 質問用のサンプル表がおかしかったので再度お伝えさせていただきます。
    添付画像の表でいうと、A5は”1”となり、A6に”1”を入れたいのです。同様にA11の”2”を、A12に入れていくとったVBAを書きたいです。

    「Excel VBA初心者です。セル値のコ」の補足画像1
    No.2の回答に寄せられた補足コメントです。 補足日時:2022/04/20 12:27

A 回答 (3件)

a列の1個上の行はnullなら1個上の値をa列に入れる。



Dim Cnt As Long
Set SH = Worksheets("Sheet1")
END1 = SH.Range("B65536").End(xlUp).Row

For Cnt = 2 To END1

If SH.Range("A" & Cnt).Value = "" Then

SH.Range("A" & Cnt).Value = SH.Range("A" & Cnt - 1).Value

End If

Next Cnt
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
もう少し内容を付け加えさせて頂きます。
以下の表で、A6、A12、A18といったようにfor文で行数をiという変数に代入して、6の倍数時にA列を1行上のセル値にするor1行上のセル値からコピーするといったマクロを組みたいです。ご教示願います。
営業日
4月20日
グループ 担当
ID ID
1 a
b
c
d
e
f
2 a
b
c
d
e
f

お礼日時:2022/04/20 11:53

Dim SH As Worksheet


Dim Cnt As Long
Set SH = Worksheets("Sheet1")
END1 = SH.Range("B65536").End(xlUp).Row

For Cnt = 5 To END1 Step 6
SH.Range("A" & Cnt + 1).Value = SH.Range("A" & Cnt).Value
Next Cnt
    • good
    • 0

>>A列を1行上のセル値にするor1行上のセル値からコピーするといったマクロを組みたいです。

ご教示願います。

言ってる事が変でしょ?

A6の時、1行上はA5。A5の値はNULLですよ。
A5のNULLをA6に入れても仕方無いでしょ?
(何もしないのと同じだから)
この回答への補足あり
    • good
    • 0

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