質問: ActiveCell.Address 1これはオブジェクトが見つからないエラーが出てしまいます 'Range(検索セル).Select 'Selection.Copy destinetion:=Range(対象セル) 'Range(対象セル).Select 2これは検索セルがクリアになってしまいます Range(検索セル).Copy Range(対象セル番号).PasteSpecial Paste:=xlPasteAll 課題に対してアプローチしたことを記載してください ### 補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報
回答: > > imputboxで移動先セルをクリックしてもらうとコピペされるが > > 文字だけで、書式(色)も一緒にコピーしたいが、 > > どのようなコードが必要でしょうか? > > > ``` 対象セル = 検索セル内容 '検索セルの内容を移動先に貼付 ``` の部分を、 ``` 検索セル内容.Copy 対象セル '検索セルの内容を移動先に貼付 ``` に書き換えるだけです。 コードの書き方でいろいろ指摘したいところはありますが、とりあえず質問だけに回答です。 追記 前の回答者さんと内容がかぶってしまったので、 指摘したいところを追記しておきます。 不必要な変数宣言、不適切な型指定 変数名も紛らわしい 移動なら、copyではなく cutメソッドを使えば1行で済む など、 これらを考慮したコード例 ``` Sub コピペボタン() Dim 検索セル As Range Dim 対象セル As Range Dim 結果 As Variant, 検索社番 As Variant Range("P8") = "" '過去の社番をクリアにする Set 検索セル = ActiveCell If 検索セル.Value = "" Then MsgBox "対象セルを選択して下さい" Exit Sub End If 検索社番 = (Left(検索セル.Value, 5)) '後ろ5ケタ社番 Range("P8").Value = 検索社番 'P8セルに社番表示 結果 = Range("P10").Value 'P8セル社番を検索値としてVLOOKUPにて結果表示 On Error GoTo myError Set 対象セル = Application.InputBox("移動先セルを選択してください", 結果, Type:=8) 検索セル.Cut 対象セル '検索セルの内容を対象セルに移動 Exit Sub myError: MsgBox "実行時エラー" & Err.Number & ":" & vbCrLf & Err.Description End Sub ```