人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルのマクロについての質問です。例えばA列1行目に”XXX”、11行目に”YYY”、15行目に”ZZZ”が入力されているとします。行間は空白です。
このときマクロでその空白行を1から10行目まで”XXX”、11から14行目まで”YYY”、15から終了記号”例えば@@@”まで”ZZZ”という様なコピーはできないでしょうか?
空白行の間は一つ上の行をコピーし、入力がある場合はその行より下の空行は新たな入力がコピーされる感じです。

●質問者: WATANABE
●カテゴリ:コンピュータ 芸術・文化・歴史
✍キーワード:エクセル コピー マクロ 入力
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kopj
●60ポイント

ひとつのセルだけなら

Sub test()

変更する文字 = Cells(1, 1)
最後の文字 = "@@@"

For ループカウント = 1 To 65536
 If Cells(ループカウント, 1) = 最後の文字 Then Exit For
 If Cells(ループカウント, 1) = "" Then
 Cells(ループカウント, 1) = 変更する文字
 Else
 変更する文字 = Cells(ループカウント, 1)
 End If
Next ループカウント
End Sub

行全体なら

Sub test()

最後の文字 = "@@@"

For ループカウント = 2 To 65536
 If Cells(ループカウント, 1) = 最後の文字 Then Exit For
 If Cells(ループカウント, 1) = "" Then
 Rows(ループカウント - 1).Copy
 ActiveSheet.Paste Destination:=Rows(ループカウント)
 End If
Next ループカウント
End Sub

2 ● neuromancer_sho
●10ポイント

範囲を選択してから実行

Sub copysub()
 Dim c As Range
 For Each c In Selection
 If c = "" Then
 c = savevalue
 Else
 savevalue = c
 End If
 Next
End Sub
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ