| 
    
     |  | こんにちは。かみちゃん です。 
 横から失礼します。
 
 >回答有難う御座いました。
 
 [46754]のことですね。
 http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=46754;id=excel
 (先頭4文字は、全角になっているので、半角にしてください。)
 コメントに対するコメントであれば、上記の右上に「返信」というところがある
 のでそれをクリックすると、そのコメントに対して、返信コメントを書くことが
 でき、スレッドが分散されなくなります。
 
 > 以上の内容に文を仕上げて頂けないでしょうか?
 
 まず、提示されたコードは、B3:B6を選択した状態ですと、
 B3:B6をコピーして、B3を先頭にして値貼り付け(「形式を選択して貼り付け」−
 「値」)をしているのですが、その後に、B4、B5、B6の値を""に変えていませんか?
 その点でなさりたいことと、コードがおかしいように思います。
 
 また、B3:B6をコピーしてではなく、あらかじめコピーしてある範囲をB3:B6に
 値貼り付けしたいということでしょうか?
 さらに、B3:B6の選択をVBAでしたいということでしょうか?
 
 以下のような感じでいかがでしょうか?
 Sub Sample1()
 Dim rngCopy As Range
 Dim rngPaste As Range
 
 If TypeOf Selection Is Range Then
 Set rngCopy = Selection
 On Error Resume Next
 Set rngPaste = Application.InputBox("貼付先セル範囲を選択してください", , , , , , , 8)
 On Error GoTo 0
 If Not rngPaste Is Nothing Then
 MsgBox rngPaste.Address
 rngCopy.Copy
 rngPaste.Select
 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
 :=False, Transpose:=False
 Else
 MsgBox "セル範囲を選択しませんでした"
 End If
 Else
 MsgBox "コピー元がセル範囲ではありません"
 End If
 End Sub
 
 |  |