
■ ”アクティブセルの、1個下の行を選択し、新しい空白行を一行挿入”
■次にその”アクティブセルのA列とB列の値を、
新しく作った空白行に、コピー
・・・といったマクロを組もうとしております。
たとえば
12行目を選択するプログラム(コマンド?マクロ?)は、
Rows(12:12)
となっていたので、それにならって
Rows(activecell:B) などとやってみたのですが、うまくいきませんでした。
このような場合、どうしたらよいのかアドバイスをいただけると助かります。
どうぞ、よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
行の指定は
「Rows(行数)」
で行います。
例えば、5行目を選択するのであれば、
Rows(5).Select
で動作します。
また、()内は変数で指定することが可能です。
選択しているセルの行数を取得するには下記のように行います。
現在選択しているセルは…「ActiveCell」
行の数値を取得するには…「.Row」
つまり、ActiveCell.Row と記述することで現在の行数を取得できます。
その値をRows()に入れてあげます。
Sub RowsInsert()
Dim RowsNo As Long
RowsNo = ActiveCell.Row + 1
Rows(RowsNo).Select
Selection.Insert Shift:=xlDown
Cells(RowsNo, 1) = Cells(RowsNo - 1, 1).Value
Cells(RowsNo, 2) = Cells(RowsNo - 1, 2).Value
End Sub
Selectを用いた処理は時間がかかる要因になりますが、
長文で使用しないようですし、この程度の処理であれば動作に問題ないと思います。
Cells(RR, 5) = Cells(RR - 1, 5).Value
こちら、使わせていただきました・・・。
コピーをせずに、値を同じにできるのが嬉しいです…。
ご回答、どうもありがとうございました!
No.4
- 回答日時:
rowsとか使うとご相談のように操作しにくいです。
また「セルをコピーしたい」のか,値の転記(複写)をしたいのかなど,具体的なヤリタイコトによって書きぶりが変わります。
作成例:
activecell.offset(1).entirerow.insert
cells(activecell.row + 1, "A").resize(1, 2).value = cells(activecell.row, "A").resize(1, 2).value
No.3
- 回答日時:
みなさん、速いし手慣れておりますなぁ。
とても勉強になります。
Excel VBAで迷うのは、命令が似通っていて、どの命令がどういう動きをするのだったか、迷うことでしょうか。
下記のMacro1とMacro2は、セル選択状態の1行をコピーし、その1行下に行の複写挿入するマクロです。
どちらも同じ結果になりますが、コピーを実施した後の痕跡(コピー元が点線、セレクトしたセル・行・列が太枠)が微妙に異なります。
なぜそうなるのかを、考えてみるのも、ExcelVBAの動作の理屈を知る勉強になりますよね。
Sub Macro1()
Dim r As Long '行番号コントロール
r = Selection.Row 'セレクト状態のセル行番号を取得
Rows(r).Copy '行コピー
Rows(r + 1).Select 'r行目を行セレクト
Selection.Insert 'r行目に挿入
End Sub
------------------------------------------
Sub Macro2()
Dim r As Long '行番号コントロール
r = Selection.Row 'セレクト状態のセル行番号を取得
Range(r & ":" & r).Copy '行コピー
r = r + 1 '行番号に1加算
Range(r & ":" & r).Insert 'r行目に挿入
End Sub
No.2
- 回答日時:
こんにちは!
一例です。
Sub test()
Dim i As Long
i = Selection.Row
Rows(i + 1).Insert
Range(Cells(i, 1), Cells(i, 2)).Copy Destination:=Cells(i + 1, 1)
Rows(i + 1).Select
End Sub
※ 行すべてを選択いていますが、アクティブセルの1行下のセルを選択する場合は
>Rows(i + 1).Select
部分を
>Selection.Offset(1).Select
としてみてください。
参考になりますかね?m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Excel(エクセル) マクロを教えてください 3 2023/07/31 21:57
- Excel(エクセル) マクロを教えてください 2 2023/07/30 23:05
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBA
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
マクロでセルを1行下に移動する方法
Excel(エクセル)
-
-
4
アクティブになっている行をマクロで削除したい
Excel(エクセル)
-
5
Excel VBA アクティブセルからある一定のセルまでの範囲選択
Excel(エクセル)
-
6
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
7
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
8
エクセル マクロで数値が変った時行挿入できますか
Excel(エクセル)
-
9
引数は省略できません。とのコンバイルエラーがでます。 この場合、どういった書き方をしたらいいのでしょ
Visual Basic(VBA)
-
10
vbaで指定したセルより下の行を指定する方法について vbaの質問です。 例えば、「C6」セルより下
Excel(エクセル)
-
11
VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます
Visual Basic(VBA)
-
12
VBA実行後に元のセルに戻りたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで選択したセルのある...
-
excelで特定のセルだけ結合でき...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
エクセル 上下で列幅を変えるには
-
Excel2007で、指定範囲の行高さ...
-
エクセル マクロで数値が変っ...
-
結合されたセルをプルダウンの...
-
セルに値が入力されると隣りの...
-
A1に入力された文字列と同じ文...
-
データベースにある画像を返したい
-
VBAで行削除のできない場合がある
-
特定の文字がある行以外を削除...
-
excelのセル参照
-
EXCEL 「最後のセル」のリセット
-
エクセルマクロ 次のようなプ...
-
Excel ウインドウ枠の固定をす...
-
エクセル マクロ オートフィ...
-
セルではなく行や列、シート全...
-
セル内の文字列操作について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセル 上下で列幅を変えるには
-
[EXCEL]ボタン押す→時刻が表に...
-
Excelのフィルター後の一番上の...
-
エクセルで特定の文字列が入っ...
-
excelのデータで色つき行の抽出...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
結合されたセルをプルダウンの...
-
エクセル マクロ オートフィ...
-
excel 小さすぎて見えないセル...
-
Excel ウインドウ枠の固定をす...
-
EXCELで最後の行を固定
-
電話番号の入力方式が違うデー...
-
エクセルVBA 最終行を選んで並...
-
エクセルのセルに指定画像(.jpg...
-
エクセル 時間の表示形式AM/PM...
-
連続データが入った行の一番右...
-
Excelで非表示のセルをとばして...
おすすめ情報