
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
【マクロ】並び替えの範囲が、...
-
vba textboxへの入力について教...
-
ワードの図形にマクロを登録で...
-
エクエルのVBAコードについて教...
-
複数のExcelファイルをマージす...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
Excel VBA 選択範囲の罫線色の...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】開いているブックの...
-
えくせるのVBAコードについて教...
-
VBAの「To」という語句について
-
VB.net 文字列から日付型へ変更...
-
【ExcelVBA】5万行以上のデー...
-
VBA ユーザーフォーム ボタンク...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを値でのみし...
-
エクセル連番自動印刷について
-
VBA Shapes コピーと名前
-
Excelでマクロ実行中に画面を固...
-
エクセル マクロ写真帳に一括で...
-
【Excel】マクロでページを追加...
-
セルに入力するたびにマクロを...
-
エクセル 図形の寸法を取得したい
-
VB.NETによるEXCELの行挿入
-
エクセルVBAで納期管理システム...
-
EXCEL VBA 他のアプリケーショ...
-
worksheet_changeの一時無効化
-
再度,ExcelVBA,public変数が消える
-
ExcelのVBAコードについて教え...
-
VBA基本構文の作り方 ボタン...
-
excel 2010 範囲内 同じ文字 ...
-
ブックの共有でVBAエラー
-
EXCEL 行番号や列番号が選択で...
-
A1セルにエラーが表示されたら...
-
このコードエラーになります。
おすすめ情報