| 
    
     |  | ▼かみちゃん さん: >こんにちは。かみちゃん です。
 >
 >横から失礼します。
 >
 >>回答有難う御座いました。
 >
 >[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
 
 初めて投稿しますのでミス有りご迷惑をおかけしております。今仕事の合間でプログラムを走らす事が出来ません。帰宅後トライします。
 私が実行したい、と言う事は下記となります。
 1)任意の範囲のセル(全て計算文の式)をマウスで範囲指定する(この動作はマクロでなく自分の手)。次からマクロを走らす
 2)範囲指定したセル全てを、その同じ箇所のセルに値コピーする(式の前に’が付く)
 3)次に一つのセル毎に、その付着した’を除去していく。これにより最後の結果が出る。
 具体的には下記の計算式を変化させる物です
 計算文 =CONCATENATE($K$3,$E346,$L$3,F$15)
 結果  新日鉄
 
 |  |