先日ここで、インプットボックスを使ったシート間コピーを教えて頂きました。
その中で、コピー先を選択した後にそのシートがselectされた状態にして、ペースト確認のmsgboxを表示したいのですが、どの様したらいいのでしょうか?
Sub コピー()
Dim CopyArea As Range
Dim PasteArea As Range
On Error GoTo ErrorHandler
Dim a As String
Set CopyArea = Application.InputBox(prompt:= _
"コピー元を指定して下さい", Title:="コピー元", Type:=8)
BUCK:
Set PasteArea = Application.InputBox(prompt:= _
"貼り付け先を指定して下さい", Title:="貼り付け先", Type:=8)
Sheets(****).Select
If MsgBox("貼り付けます。" & Chr(10) & "よろしいですか?キャンセルで再選択。", vbOKCancel + vbQuestion) = vbOK Then
CopyArea.Copy PasteArea
Else
GoTo BUCK
End If
Exit Sub
ErrorHandler:
MsgBox "処理が取り消されました"
End Sub
No.1ベストアンサー
- 回答日時:
前質問の時、色々やってみたが(色々なケースを考慮すると、うまくいかなかった部分があり)、回答は断念し、あげていませんが、その一部に作っていました。
x = b.Worksheet.Name
これをSheet(X)という風に使えばどうですか。
---
Sub test01()
Set a = Application.InputBox("コピー元", Type:=8)
Set b = Application.InputBox("コピー先", Type:=8)
x = b.Worksheet.Name
MsgBox x
'a.Copy b
End Sub
この回答への補足
早速のご回答ありがとうございます。コピー先は必ず別シートになるので出来ます!
最近すっかり煮詰まってしまい、一つ一つの動作に感動している今日この頃です。
欲張って、もう1つ質問なのですが、Set b=Application.InputBoxで得たセルや行、列の位置を、仮にy=b.で取得するためにはどの様な命令文を入れればいいのでしょうか。
No.2
- 回答日時:
意味がちょっと良くわかりませんが、こういう事でしょうか?
Set b=Rnge(Application.InputBox)'"C2"と入力
y=b.Row 'これで選択された行(2)がyに代入される
y=b.Column 'これで選択された列(3)がyに代入される
『Rows』としないのがポイントです
No.3
- 回答日時:
すいません
間違えました
× Set b=Rnge(Application.InputBox)'"C2"と入力
○ Set b=Range(Application.InputBox)'"C2"と入力
No.4
- 回答日時:
> セルや行、列の位置
アドレスを取得して表示するということですか?
Sub コピー()
Dim CopyArea As Range
Dim PasteArea As Range
On Error GoTo ErrorHandler
Dim a As String
Set CopyArea = Application.InputBox(prompt:= _
"コピー元を指定して下さい", Title:="コピー元", Type:=8)
BUCK:
Set PasteArea = Application.InputBox(prompt:= _
"貼り付け先を指定して下さい", Title:="貼り付け先", Type:=8)
sn = PasteArea.Worksheet.Name
pa = PasteArea.Address
Sheets(sn).Select
If MsgBox(sn & "の" & pa & "に貼り付けます。" _
& Chr(10) & "よろしいですか?" _
& Chr(10) & "キャンセルで再選択。", vbOKCancel + vbQuestion) = vbOK Then
CopyArea.Copy PasteArea
Else
GoTo BUCK
End If
Exit Sub
ErrorHandler:
MsgBox "処理が取り消されました"
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access VBAから使用したExcelプ...
-
一行おきに貼り付ける 可能でし...
-
Listviewに表示された文字のコ...
-
C++言語で、構造体のコピーは可...
-
Ctrl + Cなど複数の入力キー...
-
マウントしたディスクにcpで、...
-
Eclipseのコード入力時の、行コ...
-
エクセルVBA 実行時エラー'...
-
DataTableに入っているデータを...
-
Activesheet.Pasteで困っています
-
Excelでコピーしたセル(テキス...
-
ASP.net でコントロールをコピー
-
他プロジェクトのFormを自プロ...
-
シートに張り付けたボタンがシ...
-
CStringArray[2]のコピー
-
バッチで当日日付で作成される...
-
CSVファイルの特定行の削除
-
TortoiseSVNにおける削除ファイ...
-
彼女の過去の恋愛に嫉妬してし...
-
[SVN]Subversionリポジトリの容...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access VBAから使用したExcelプ...
-
C++言語で、構造体のコピーは可...
-
一行おきに貼り付ける 可能でし...
-
Activesheet.Pasteで困っています
-
DataTableに入っているデータを...
-
Ctrl + Cなど複数の入力キー...
-
マウントしたディスクにcpで、...
-
Listviewに表示された文字のコ...
-
Eclipseのコード入力時の、行コ...
-
エクセルVBA 実行時エラー'...
-
arduino unoからデータを読み出...
-
文字列の切り出し
-
ROBOCOPYをスペース付きのフォ...
-
シートに張り付けたボタンがシ...
-
ブラウザからコピペすると文字...
-
【UWSC】WEBページ内コピーした...
-
バッチで当日日付で作成される...
-
他プロジェクトのFormを自プロ...
-
jakarta poiを使用し、EXCELの...
-
.BATでクリップボードに複数の...
おすすめ情報