
エクセルVBA初心者です。
Sheets("Sheet2").Select
Range("A2:Z2").Select
Selection.AutoFill Destination:=Range("A2:Z500"), Type:=xlFillDefault
上記スクリプトは、Sheet2のA2:Z2の範囲を指定して「500行目まで」
オートフィルを行う内容になっているかと思いますが、
この「何行目まで」という部分を、特定の別シートの特定のセルに
入力されている数字(毎回異なる)で指定したいと思っています。
具体的には、別のシート(仮にSheet1)のセル(仮にA1)に関数が
入力されていて、その時々の条件でA1の数字は異なります。
このA1のセルに例えば800と表示されていたら、Sheet2の
A2:Z2を800行目までオートフィルする、というマクロを作りたいです。
(ちなみにA2:Z2にはもろもろ複雑なエクセル関数が入力されており、
この関数を必要な行番号までオートフィルしたい、というものです。)
具体的にどのようにスクリプトを直せばこのような動きが得られるか、
どなたかご教示頂けないでしょうか?
当方、スクリプトを一から書く力が殆どなく、普段はマクロの
自動記録で得られたスクリプトをベースに手直ししながら
欲しいマクロを作る、という程度しかできません。
何卒よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
たぶんシート1のA1セルには、貼り付けた行の行数をカウントする関数が入っているのでしょうか。
想像で書きましたが、以下のコードでやりたいことをカバーしていれば、と思います。
実行後は元に戻せませんので必ずバックアップを取ってからやってください。
’----------------------------------------------------------------------
Sub ZZZ()
'変数の宣言
Dim Ws1 As Worksheet, Ws2 As Worksheet
Dim Rng As Range, LstRow As Long, TgtRow As Long
'Sheet1、2を変数Ws1,Ws2に格納
Set Ws1 = Worksheets("Sheet1")
Set Ws2 = Worksheets("Sheet2")
Ws2.Select
'Sheet2のA2:Z2を変数Rngに格納
Set Rng = Range(Cells(2, 1), Cells(2, 26))
'Sheet2の前回分を消す
LstRow = Cells(3, 1).End(xlDown).Row
Range(Cells(3, 1), Cells(LstRow, 26)).ClearContents
'Sheet2でずらす必要のある行数(Sheet1に貼ったデータ行数)を変数TgtRowに入れる
TgtRow = Ws1.Cells(Rows.Count, 1).End(xlUp).Row - 4
'範囲Rngを、TgtRow までオートフィルする
Rng.AutoFill Destination:=Range(Cells(2, 1), Cells(TgtRow, 26)), Type:=xlFillDefault
'変数開放
Set Rng = Nothing
Set Ws1 = Nothing
Set Ws2 = Nothing
MsgBox "End."
End Sub
’----------------------------------------------------------------------
いちおう逐一コメントを入れてあるので読んでください。
なお、繰り返し使用することを想定し、オートフィル前にSheet2の前回分を消すフローを
入れてあります。消しに行く範囲は、3行目から、EndのxlDownとしてあります。
不具合あれば適宜いじってください。
また、コードを見ていただくと分かりますが、オートフィルの最終行は、
シート1のA1セルから取得していませんので、もしやりたいことと違ったらすみません。
(=シート1のA1セルが無くても回ります)
No.3
- 回答日時:
NO1ですが、今回の質問とだいぶかけ離れると思いますので
改めて質問をされた方が良いかと思います。
①Sheet1に5行目から始まる表があり、この表にその時々で
異なる行数のデータを貼り付ける
5行目以下の何列から何列目まで?
Sheet2のどこに?
②は、今回の回答で解決しませんでしたか?
別案ですが、Sheet1に関数を入れておいて
必要な情報を表示させておく。
Sheet1の必要な列を値を入れるという事でSheet2に入れる
方法では駄目なのでしょうか。
No.1
- 回答日時:
エクセルVBAでデータが入力されいる最終行を求める方法
ネットで検索するとすぐに見つかりますが。
Sheets("Sheet2").Select
GYOU=range("A" & Rows.Count).end(xlup).Row
Range("A2:Z2").Select
Selection.AutoFill Destination:=Range("A2:Z" & GYOU), Type:=xlFillDefault
といった形になります。
A列の一番下の行から上へ移動して
空白でなくなるセルの行番号が GYOUと云う変数に入ります。
さっそくありがとうございます!!!大変助かります。
ただ、やりたいことは実は以下のようなことでして、あと一歩悩んでおります。
Sheet1とSheet2で表の開始位置が違う分、どのように調整したらよいか
お知恵を拝借できないでしょうか。
①Sheet1に5行目から始まる表があり、この表にその時々で
異なる行数のデータを貼り付ける
②その時に貼り付けたデータの行数分だけ、Sheet2の関数を
下方向にドラッグしてオートフィルさせる、ただしSheet2の表は
Sheet1とは異なり1行目から始まるレイアウトになっている
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) エクセルマクロ セルをクリックするたびに記号を入力 1 2022/10/13 19:47
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
エクセル マクロ オートフィルの終点の指定について
Excel(エクセル)
-
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
エクセルマクロ 行数可変のオートフィルター構文
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
6
アクティブセルから、A列最終行までフィルダウン
Excel(エクセル)
-
7
VBAでオートフィルを行の途中から使いたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同一セルに日時があるものを日...
-
Excelで指定した条件と一致する...
-
EXCELでCSVファイル保存すると...
-
1年分のデータから特定の月分...
-
OFFSET関数を使用した印刷範囲...
-
COUNTIFの反対の関数はあるので...
-
エクセルVBAで、複数セルのデー...
-
1つのセルにまとまっている情報...
-
EXCELで年月日の表記から日付部...
-
【VBA】指定フォルダに格納中の...
-
webクエリのurlの変更方法
-
エクセルで数字、文字列混在の...
-
複数のシートの日付データを、...
-
色なしセルの合計値の出し方に...
-
エクセル
-
Excel 空白セルの掛け算で答え...
-
エクセルで特定の行を除いて計...
-
Excelのシートごとの日付の追加
-
エクセル 特定の条件で特定の...
-
5つとびのセルの集計
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同一セルに日時があるものを日...
-
1年分のデータから特定の月分...
-
EXCELでCSVファイル保存すると...
-
Excelで指定した条件と一致する...
-
エクセルVBAで、複数セルのデー...
-
COUNTIFの反対の関数はあるので...
-
ドロップダウンリストで空白の...
-
エクセルでセルを一括で右詰に...
-
OFFSET関数を使用した印刷範囲...
-
1つのセルにまとまっている情報...
-
EXCELで年月日の表記から日付部...
-
excelで平均差を出したい
-
Excelで連続データを行飛ばしで...
-
エクセルで数字、文字列混在の...
-
Excelのシートごとの日付の追加
-
色なしセルの合計値の出し方に...
-
エクセルVBA オートフィルの最...
-
エクセル数式・等間隔ごとの範...
-
エクセル
-
エクセルで特定の行を除いて計...
おすすめ情報