![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
「データベース控え」と「手番」という2つのシートがあります。
今、シート「データベース控え」を開いています。
VBAを使って「手番」シートにA3:S3をコピー&ペーストする記述方法を教えて下さい。
マクロで表現すると以下の記述となります。
繰り返し処理をする実運用では画面が切り替わるなどスマートな方法ではないので困っています。
Range("A3:S3").Select
Selection.Copy
Sheets("手番").Select
Range("A3").Select
ActiveSheet.Paste
Sheets("データベース控え").Select
Range("A4").Select
実運用では数値の部分を変数に置き換えて繰り返し処理をしたいと思っています。よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
Sheets("データベース控え").Select
Range("A3:S3").Copy Sheets("手番").Range("A3")
>繰り返し処理をする実運用では画面が切り替わるなどスマートな方法ではないので困っています。
先頭行に
Application.ScreenUpdating = False
と記述すると、画面の書き換えが抑止されるのでちらつきが無くなります。
>実運用では数値の部分を変数に置き換えて繰り返し処理をしたいと
こんな方法もあります。
Dim tmp As Range
Dim tmp2 As Range
Set tmp = Application.InputBox("範囲を選択してください。", "Copy", , , , , , 8)
Set tmp2 = Application.InputBox("コピー先を選択してください。", "Copy", , , , , , 8)
'tmp.Copy Sheets("Sheet2").Range("A1")
tmp.Copy tmp2
ありがとうございました。2行目が求めていた記述です。
Range("A3:S3").Copy Sheets("手番").Range("A3")
先頭行に
Application.ScreenUpdating = False
を入れずに試してみたのですが画面の書き換えは起こりませんでした。
でもそういう方法があるのですね。参考になりました。
No.3
- 回答日時:
質問の意味がはっきりしない。
まず
(1)「データベース控え」シートから、「手番」シートへコピーする一方通行だね。
(2)「手番」シートは同一ブック(内)ですね。
(3)コピーをするきっかけが書いてない。マクロ初心者だからだろうが、イベントを考える必要がある。コマンドボタンでも作るか。
(4)>数値の部分を変数に置き換えて
数値の部分とは表現がおかしい。コピー元のセル範囲のことかな。
(5)>実運用では画面が切り替わるなど
コピー先のシートに切り替わるのが、気に食わないのか
(6)(5)であるというなら(手番シートを開きたくないなら)手番シートのどの範囲に貼り付けるのかをどのように指定するのか(決めるのか)?
順次今までの貼り付けの済みの下の部分に貼り付けるコードを書いておく。
ーー
以上質問課題をこなすには経験不足と思う。本当はもっと勉強してからの課題でしょう。
ーー
Sheet1にコマンドボタンを1つ張り付け。
ボタンをダブルクリックして出てくる画面に下記を張り付け。
Private Sub CommandButton1_Click()
d = Worksheets("sheet3").Range("A65536").End(xlUp).Row
MsgBox (d + 1) & "行から張り付け"
Selection.Copy Destination:=Worksheets("sheet3").Range("A" & d + 1)
End Sub
ーー
MsgBox (d + 1) & "行から張り付け" は練習用。納得すれば削除。
Sheet3の部分は「手番」に「変えること。
ーー
操作
データベース控えシートでコピーしたいセル範囲をマウスで範囲指定。
コマンドボタンをクリック。
手番シートには今までの最終行の直下行のA列から、データが張り付いている。
親切な回答ありがとうございます。
(1)そうです一方通行のワークです。
(2)「手番」シートは同一ブック(内)です。
(3)コマンドボタンに登録します。
(4)数値の部分とは行番号のことでした
(5)実行中は画面が切り替わらないことを望みました
(6)手番シートを開かずに手番シートA3行目に貼り付ける
ということでした。
色々お教えいただきましたことをこれからじっくり練習用として教材にしたいと思います。一応困り事は解決しましたがまだまだ初心者です。
今回の質問を応用して作りましたものを御笑覧ください(^^ゞ
Sub 納期シート作成()
Dim i, k As Integer
i = 3
k = 3
Do While Cells(i, "A").Value <> ""
If Cells(i, "a").Value <> Cells(i - 1, "a").Value Then
Range("A" & i & ":" & "S" & i).Copy Sheets("手番").Range("A" & k)
k = k + 1
End If
i = i + 1
Loop
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) エクセルのVBAにショートカットキーの割り当て 3 2022/07/13 14:19
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 関数を使ってデータと一...
-
EXCELのVBAでシートコピーをし...
-
エクセルの選択範囲以外を削除...
-
Excel 数式の保護をしたセルを...
-
PDFファイルをコピーしてエクセ...
-
【VBA】コピー&複数個所のペー...
-
エクセルのシートを完全にコピー
-
エクセル2007 作成した表を丸...
-
Excelの行をコピーして貼り付け...
-
エクセルでシートをコピーする...
-
VBA 先頭文字の0(ゼロ)...
-
ExcelVBAで、ユーザーフォーム...
-
Excel:マウスのドラッグ操作で...
-
VBAでエラーメッセージが出ない...
-
エクセルの1シートの内容を複...
-
【エクセル】プルダウン設定の...
-
Excel VBA シートのコピー...
-
EXCELで別のブックから式をコピ...
-
エクセルのシートコピーした際...
-
エクセルVBAによるシート間コピ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
EXCELのVBAでシートコピーをし...
-
【VBA】コピー&複数個所のペー...
-
EXCELで別のブックから式をコピ...
-
Excelの行をコピーして貼り付け...
-
エクセルの1シートの内容を複...
-
Excel シートのコピーの際、ペ...
-
【Excel】数式をそのまま他のシ...
-
Excel 数式の保護をしたセルを...
-
PDFファイルをコピーしてエクセ...
-
【エクセル】プルダウン設定の...
-
【Excel VBA】シートコピー時、...
-
エクセルのワークシートをUSBメ...
-
エクセルでシートを「移動また...
-
Excel シートに別のExcelシート...
-
エクセルVBA 1行飛ばしで転記す...
-
ExcelVBAで、ユーザーフォーム...
-
VBA シートをコピー後、ボタン...
-
アクセスの画面をプリントスク...
おすすめ情報