1行目の内容をコピーして、他の場所に指定数分だけ
挿入するマクロを作りました。
そのマクロ自体は、正しく動いたのですが、コピー元の1行目に
他のシートを参照する関数が入っていた場合、想定どおりの
結果を得ることができません。
[SHEET1:データのみを記載]
省略
[SHEET2]
A1セル: =SHEET1!$A1 ←コピー元の行
[マクロ:一部抜粋]
myR = Application.InputBox("挿入する行数を入れてください", , "1")
For i = 1 To myR
Rows("1:1").Copy
Cells(ActiveCell.Row, 1).Select
Selection.Insert Shift:=xlDown
Selection.EntireRow.Hidden = False
Next i
どういう結果を求めたいかというと、たとえば、
SHEET2のA10セル上で、このマクロを実行し、 "挿入行 = 3" と指定したら
A10: =SHEET1!$A10
A11: =SHEET1!$A11
A12: =SHEET1!$A12
となってほしかったのですが、結果は、
A10: =SHEET1!$A10
A11: =SHEET1!$A10
A12: =SHEET1!$A10
となってしまいました。
どうにか、求める結果を得られるようにできないでしょうか?
No.2ベストアンサー
- 回答日時:
Active.Cellが同一の位置なのだから相対変位しません。
一例です。(ループは不要なので削除しました)
myR = Application.InputBox("挿入する行数を入れてください", , "1")
Rows("1:1").Copy
Rows(ActiveCell.Row & ":" & ActiveCell.Row + myR - 1).Select
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False
No.1
- 回答日時:
下記をやって、その際マクロの記録を採って、これで良いかチェックして。
例データ 例示の書き方も勉強して。
Sheet1 A列
a
b
aa
s
d
f
g
A3の式は =Sheet2!A3
他は手で直接入力。
Sheet2 A1:A9
xx
yy
aa
bb
cc
dd
ee
ff
gg
ーーー
Sheet1で
A3をコピー
A6の「f」の行から3行選択
挿入ーコピーしたセルー下方向にシフト
結果 Sheet1
a
b
aa
s
d
dd
ee
ff
f
g
A6:A8は数式は
=Sheet2!A6
=Sheet2!A7
=Sheet2!A8
---
コードは
Sub Macro4()
Range("A3").Select
Selection.Copy
Range("A6:A8").Select
Selection.Insert Shift:=xlDown
End Sub
これをセル指定の点で一般化するコードに改変する。
もしこれで正しいなら、質問者は
(1)エクセルの操作そのものを十分知らないで(やってみないで)VBAをやっている。
VBAはエクセルの操作でやれることをやれるだけ、なので、エクセルを知らないでVBAをやるのは本末転倒。
(2)マクロの記録の有効性を認識してない
ということになる。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- Visual Basic(VBA) 最終行の指定について教えてください。 複数シートを1シートへまとめる下記マクロでは各シートの6行目を 1 2022/10/04 18:37
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
VB2010でExcelの行をコピーして挿入する
Visual Basic(VBA)
-
エクセルVBAで、行コピーを複数行にペーストする方法
Excel(エクセル)
-
VB.NETによるEXCELの行挿入
Visual Basic(VBA)
-
-
4
Excel VBA 複数行を数の分だけ挿入したい
Visual Basic(VBA)
-
5
VBA初心者です。結合セルを保持したまま挿入する方法を教えてほしいです。
Visual Basic(VBA)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
VBAで文字列を数値に変換したい
Excel(エクセル)
-
8
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
9
Excelで、あるセルの値に応じて行を自動挿入したい
Visual Basic(VBA)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
エクセルのVBAで指定した行数の追加と数式のコピー方法をご教示いただけますか?
Visual Basic(VBA)
-
12
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
13
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
14
エクセルVBA
Excel(エクセル)
-
15
VBAで条件が一致する行をコピーしその1つ下へ挿入
Excel(エクセル)
-
16
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
17
特定の条件の時に行を挿入したい
Excel(エクセル)
-
18
エクセル関数で日付かどうかの確認?
Excel(エクセル)
-
19
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
20
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでマクロ実行中に画面を固...
-
エクセルファイルを値でのみし...
-
エクセルVBAで納期管理システム...
-
エクセルのマクロについて教え...
-
エクセル連番自動印刷について
-
【Excel】マクロでページを追加...
-
【ExcelVBA】マクロブックを通...
-
VBA Shapes コピーと名前
-
worksheet_changeの一時無効化
-
エクセルのマクロを教えてください
-
セルに入力するたびにマクロを...
-
VBAで行コピーして挿入
-
エクセル マクロ写真帳に一括で...
-
エクセル 図形の寸法を取得したい
-
エクセルファイルの回数期限の...
-
VBA 選択したデータを別シー...
-
シート名を記入する
-
ブックの共有でVBAエラー
-
EXCEL VBA 他のアプリケーショ...
-
VBAで保存しないで閉じると空の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを値でのみし...
-
Excelでマクロ実行中に画面を固...
-
エクセル連番自動印刷について
-
VBA Shapes コピーと名前
-
エクセル マクロ写真帳に一括で...
-
EXCEL VBA 他のアプリケーショ...
-
【Excel】マクロでページを追加...
-
セルに入力するたびにマクロを...
-
ブックの共有でVBAエラー
-
エクセル 図形の寸法を取得したい
-
エクセルVBAで納期管理システム...
-
EXCEL 行番号や列番号が選択で...
-
VBAで行コピーして挿入
-
エクセルファイルの回数期限の...
-
グラフ要素のセルを参照したい...
-
エクセルでマクロ登録の不具合解消
-
再度,ExcelVBA,public変数が消える
-
VB.NETによるEXCELの行挿入
-
ExcelのVBAで自動採番したい...
-
【ExcelVBA】マクロブックを通...
おすすめ情報