プロが教えるわが家の防犯対策術!

上の表を下のようにしたいです。
上の表に列を追加(B列)して文字(上)を入れたい。
A列に値があればB列に文字を入れる。
そういうコードが知りたいです。

表自体は可変しますが5000行程度です。

よろしくお願いします。

「Excel2013 マクロ教えてください」の質問画像

A 回答 (3件)

次の前提条件が満たされていれば、こんな感じでもいけそうです。


・A列は数式ではなく、定数である
・1行目は空白である

Sub Macro1()
Columns("A:A").Copy
Columns("B:B").Insert Shift:=xlToRight
Application.CutCopyMode = False
Columns("B:B").SpecialCells(xlCellTypeConstants, 23).Value = "上"
Range("B1").End(xlDown).Value = "こうもく"
End Sub
    • good
    • 0
この回答へのお礼

思い通りに改造も出来てばっちりです。
ありがとうございました。

お礼日時:2017/01/23 15:27

こんなものはいかがでしょうか?


--------------------------------------------------------------------
Sub test()
Dim データ As Boolean
Dim 行 As Long
Columns("A:A").Copy
Columns("A:A").Insert Shift:=xlToRight
Application.CutCopyMode = False
For 行 = 1 To Cells(Rows.Count, 2).End(xlUp).Row
If データ Then
If Trim(Cells(行, 2).Text) = "" Then
Cells(行, 2).ClearContents
Else
Cells(行, 2).Value = "上"
End If
Else
If Trim(Cells(行, 2).Text) = "" Then
Cells(行, 2).ClearContents
Else
Cells(行, 2).Value = "こうもく"
データ = True
End If
End If
Next
End Sub
--------------------------------------------------------------------
※ 空白文字のみのセルは「上」にはしません。
※ B列で一番最初の入力されているセルは「こうもく」そのあとは「上」にします。
    • good
    • 0

>上の表に列を追加(B列)して文字(上)を入れたい。


>A列に値があればB列に文字を入れる。
A列に値がない場合、”上”を入れるのですか?
提示された例はA列に値がありますので、その文字を入れると、
B列は、A10,B20,C30,C40が設定されると思いますが、いかがでしょうか?
    • good
    • 0

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