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も見ています
-
【お題】NEW演歌
【大喜利】 若い人に向けたことは分かるけど、それはちょっと寄せ過ぎて変になってないか?と思った演歌の歌詞
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
VB2010でExcelの行をコピーして挿入する
Visual Basic(VBA)
-
エクセル2016にて、行挿入&コピーの繰り返しをするマクロを教えてください。
Excel(エクセル)
-
Excel VBA 複数行を数の分だけ挿入したい
Visual Basic(VBA)
-
-
4
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
5
繰り返し1行~28行までを順順にコピーする方法
Visual Basic(VBA)
-
6
VB.NETによるEXCELの行挿入
Visual Basic(VBA)
-
7
マクロ最終行挿入
Excel(エクセル)
-
8
【Excel】【VBA】空白のセルに上のデータを入力する方法
その他(Microsoft Office)
-
9
エクセルの参照行の挿入による追加と行の削除に対応できる関数を教えてくだ
Excel(エクセル)
-
10
別シートの最終行に貼り付けするマクロを教えてください。 シートYのE3からE15までをコピー シート
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA Shapes コピーと名前
-
エクセル マクロ写真帳に一括で...
-
【Excel】マクロでページを追加...
-
エクセル 図形の寸法を取得したい
-
VBAでのユーザーフォームの使い方
-
Excelでマクロ実行中に画面を固...
-
ブックの共有でVBAエラー
-
エクセルファイルを値でのみし...
-
EXCEL 行番号や列番号が選択で...
-
VBAで行コピーして挿入
-
ExcelのVBAコードについて教え...
-
エクセルVBAで納期管理システム...
-
グラフ要素のセルを参照したい...
-
セルに入力するたびにマクロを...
-
EXCEL上にコマンドボタン...
-
【ExcelVBA】マクロブックを通...
-
VBでエクセルに罫線を引くには?
-
VBAで保存しないで閉じると空の...
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを値でのみし...
-
エクセル連番自動印刷について
-
VBA Shapes コピーと名前
-
Excelでマクロ実行中に画面を固...
-
【Excel】マクロでページを追加...
-
エクセル マクロ写真帳に一括で...
-
セルに入力するたびにマクロを...
-
エクセル 図形の寸法を取得したい
-
EXCEL VBA 他のアプリケーショ...
-
EXCEL 行番号や列番号が選択で...
-
ブックの共有でVBAエラー
-
【ExcelVBA】マクロブックを通...
-
エクセルに写真を挿入するマ...
-
エクセルVBAで納期管理システム...
-
VB.NETによるEXCELの行挿入
-
シート名を記入する
-
VBAの記述について 値のみの貼...
-
VBAで行コピーして挿入
-
エクセルのマクロで数値に応じ...
-
再度,ExcelVBA,public変数が消える
おすすめ情報