[[20220128180229]] 『範囲指定で空白セルを上から順に検索』(ケイコ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『範囲指定で空白セルを上から順に検索』(ケイコ)

A1セルからA20セルまでの空白セルを上から順に検索。
そこにある数値を代入していきます。
A1セルからA20セルまで、空白がなくなったら、
B1セルからB20セルまでの空白セルを上から順に検索。
このような検索VBAは、どのように作ったら良いのですか?
初心者の為、どなたか例文などを作ってくれると嬉しいです。
宜しくお願いします。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


>そこにある数値を代入していきます。
というのがイマイチ理解できませんが、まずは↓をステップ実行して研究してみてはどうでしょうか?
    Sub 研究()
        Dim 行 As Long

        For 行 = 1 To 20
            If Range("A" & 行).Value = "" Then
                MsgBox "A" & 行 & "セルは空白だよ"
            End If
        Next 行
    End Sub

(もこな2) 2022/01/28(金) 18:28


    Sub 研究2()
        Dim 行 As Long, 列 As Long

        For 列 = 1 To 2
            For 行 = 1 To 20
                If Cells(行, 列).Value = "" Then
                    MsgBox Cells(行, 列).Address(False, False) & "セルは空白だよ"
                End If
            Next 行
        Next 列
    End Sub

(もこな2) 2022/01/28(金) 18:39


早速の回答ありがとうございます。
そこにある数値という解釈がイマイチでした。すみません。
シートBのA列に名前、B列に数字、C列に数字があります。
そして、シートAのA1〜A20の空白セルを上から順にさがして、
空白セルにシートBのA1行にある名前、数字、数字を代入。
それを繰り返して行き、A20セルまで空白が埋まったら、
B列の空白セルを探して、同じようにシートBの名前、数字、数字を代入。
このようなVBAを作成したいです。
度々、すみませんが、宜しくお願いします。
(ケイコ) 2022/01/28(金) 19:09

>VBAを作成したいです。
して、研究の成果はどうですか?

作成依頼ならそうおっしゃったほうがいいですよ。
(まぁ、作成依頼であれば興味が無いので私は降りますが)

(もこな2) 2022/01/28(金) 20:15


オマケで。
 >シートBの〜
 >シートAの〜

複数のシートを扱うなら、↓のような感じで、きちんとシートを指定したほうがよいです

 Worksheets("シートB").Range("A1").Value
 Worksheets("シートA").Cells(1,1).Value

(もこな2) 2022/01/28(金) 20:19


 シートBのA列に名前、B列に数字、C列に数字を
 シーAの空白に結合していれるってこと?

 学校の宿題なら、自分でしないと怒られるよ。

 Sub 研究1_1()
    Dim 行 As Long, x As String
    Dim ws(2) As Worksheet
    Set ws(2) = Sheets(2)
    For 行 = 1 To 20
            x = ws(2).Cells(行, 1).Value & "," & ws(2).Cells(行, 2).Value & "," & ws(2).Cells(行, 3).Value
            MsgBox x
    Next 行
 End Sub

 Sub 研究2_1()

    Dim 行 As Long, 列 As Long
    Dim ws(1 To 2) As Worksheet
    Set ws(1) = Sheets(1)
    Set ws(2) = Sheets(2)

    For 列 = 1 To 2
        For 行 = 1 To 20
            If ws(1).Cells(行, 列).Value = "" Then
                ws(1).Cells(行, 列).Value = ws(2).Cells(行, 列).Value
            End If
        Next 行
    Next 列

 End Sub

 Sub 研究2_2()

    Dim 行 As Long, 列 As Long, x As String
    Dim ws(1 To 2) As Worksheet
    Set ws(1) = Sheets(1)
    Set ws(2) = Sheets(2)

    For 列 = 1 To 2
        For 行 = 1 To 20
            If ws(1).Cells(行, 列).Value = "" Then
                x = ws(2).Cells(行, 1).Value & "," & ws(2).Cells(行, 2).Value & "," & ws(2).Cells(行, 3).Value
                ws(1).Cells(行, 列).Value = x
            End If
        Next 行
    Next 列

 End Sub
(あみな) 2022/01/28(金) 20:27

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.