本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[XL] InputBoxへ「セル範囲」に「コピーと貼り付け」を行う方法

文書番号: 402278

最終更新日: 1997/10/20


この資料は以下の製品について記述したものです。


この記事は、以前は次の ID で公開されていました: JP402278

概要

本文書では、 Microsoft(R) Visual Basic(R) Programming System Applications
Edition (以下 VBA) を使ってダイアログ ボックスを表示し、ワークシートのセル
の「コピー元」と「貼り付け先」を入力後にコピーと貼り付けを行う方法を、
サンプル モジュールと共に解説しています。

詳細

InputBox へセル範囲の入力を行うときには、VBA の InputBox 関数ではなく
Application オブジェクトの InputBox メソッドを使用します。

サンプル 1

次のサンプル モジュールでは、Application オブジェクトの InputBox メソッド
を使用してセルの「コピー元」と「貼り付け先」を入力後、データのコピーを行っ
ています。
  Sub MyCopyPaste1()
      Dim CopyArea As Range
      Dim PasteArea As Range
      Set CopyArea = Application.InputBox(prompt:= _
          "コピー元を指定して下さい", Title:="コピー元", Type:=8)
      Set PasteArea = Application.InputBox(prompt:= _
          "貼り付け先を指定して下さい", Title:="貼り付け先", Type:=8)
      CopyArea.Copy PasteArea
  End Sub

サンプル 2

「サンプル 1 」では、InputBox が表示された状態で <キャンセル> ボタンがクリッ クされた時の処理を記述していないため、<キャンセル> ボタンをクリックすると 「マクロエラー」が発生します。次のサンプル モジュールでは、On Error Goto
ステートメントを使用して <キャンセル> ボタンがクリックされた場合はマクロの 処理を終了します。
  Sub MyCopyPaste2()
      Dim CopyArea As Range
      Dim PasteArea As Range
      On Error GoTo ErrorHandler
      Set CopyArea = Application.InputBox(prompt:= _
          "コピー元を指定して下さい", Title:="コピー元", Type:=8)
      Set PasteArea = Application.InputBox(prompt:= _
          "貼り付け先を指定して下さい", Title:="貼り付け先", Type:=8)
      CopyArea.Copy PasteArea
      Exit Sub
  ErrorHandler:
      MsgBox "処理が取り消されました"
  End Sub

注意

「サンプル 2 」の MyCopyPaste2 を実行したときに「実行時エラー」が発生する
場合は、[ツール] - [オプション] コマンドの [モジュール設定] パネルから
[エラー発生時にブレーク] チェックボックスをオフ (×が付いていない状態)
にしてください。

Keywords: KBHOWTO KB402278
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch

inserted by FC2 system