dポイントプレゼントキャンペーン実施中!

Excelにて、以下のようなデータがあります。

  A B C
1 X 1 2
2  2 3
3   3 4
4 Y 4 5
5  5 6
6  6 7

A2,A3にX(=A1)を、A5,A6にY(=A4)を入力するようなVBAはどのように作ればよいのでしょうか?

A 回答 (4件)

こんにちは。



たぶん、この手の質問は大量の書き込みが必要になることが多いので、それにあわせて作ってみました。少ない行では違いは分らないと思います。

Sub BlankSelectCellsEntering()
Dim r As Range
Dim c As Range
On Error Resume Next
Application.ScreenUpdating = False
Set r = Range("A1").CurrentRegion.Columns(1).SpecialCells(xlCellTypeBlanks)
For Each c In r.Areas
 c.Value = "'=" & c.End(xlUp).Address(0, 0)
 c.Value = c.Value
Next c
Application.ScreenUpdating = True
End Sub
    • good
    • 0

VBEの標準モジュールに


Sub test01()
d = Range("B65536").End(xlUp).Row
For i = 1 To d
If Cells(i, "A") = "" Then
Cells(i, "A") = x
Else
x = Cells(i, "A")
End If
Next i
End Sub
A列最初行は空白でないものとする。
A列2,3行などはスペースでなく空白とする。
上記で困ること(ケース)があれば補足してください。
    • good
    • 0

こんな感じ?



 # B列を最終行の判定に使っています。

Sub Test()
Dim r As Range, s1
 For Each r In Range(Range("B1"), Range("B65536").End(xlUp))
   If r.Offset(0, -1).Value <> "" Then
     s1 = "=" & r.Offset(0, -1).Address(0, 0)
   Else
     r.Offset(0, -1).Value = s1
   End If
 Next r
End Sub
    • good
    • 0

直上のセルをコピーする操作は、次のようになります。


どれかのセルを選択して編集>ジャンプで空白セルを選択します。
イコールと上矢印を入力し、ctrl+enterを行います。
この操作を記録すればマクロにできます(2・3行です)。
    • good
    • 1

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