プロが教えるわが家の防犯対策術!

閲覧等ありがとうございます。

G列にある電話番号の式を、値にして貼り付けたいのですが、うまくいきません。
下記はコードの一部です。よろしくご指導のほどお願いします。

'電話番号編集スタート(E列には、先頭に0のない電話番号が入ってます)

Range("F2").Select
ActiveCell.FormulaR1C1 = "=SUBSTITUTE(RC[-1],""-"","""")"

Range("F2").AutoFill Destination:=Range("F2:F" & Range("F2").End(xlDown).Row())

Columns("G:G").Select
Selection.Insert Shift:=xlToRight

Columns("G:G").Value = Columns("G:G").Value

Range("G2").Select
ActiveCell.FormulaR1C1 = _
"=IF(LEFT(RC[-1],1)=""0"",ASC(RC[-1]),""0""&ASC(RC[-1]))"

Range("G2").Select
Range("G2").AutoFill Destination:=Range("G2:G" & Range("G2").End(xlDown).Row())

********************

Range("E1").Select
Selection.Copy Range("G1")

Columns("E:F").Delete '消すと#REF!になってしまう⇒値にして貼り付けしたい

A 回答 (2件)

こんにちは



G列の計算式の計算結果を、「値をペースト」で式を消して値としてFIXしたいという意味と解釈しました。

マクロの記録でも作成できると思いますが、
Columns("G").Copy
Columns("G").PasteSpecial Paste:=xlPasteValues

このままだと、コピーモードや選択範囲が残りますが、他の処理を続ければ自動的に解除されると思います。(処理の内容にもよりますが)
気になるようなら、上記に続けて
Application.CutCopyMode = False
Range("G1").Select
とか。
    • good
    • 0
この回答へのお礼

すいません、自己解決しました。ありがとうございました。

お礼日時:2017/11/17 15:15

出来れば何をやりたいのかを言葉で示していただけると判りやすいです。


もしかしたら「G列にある電話番号」の頭に「0」を付けて入力し直すと言う事ですか?
    • good
    • 0
この回答へのお礼

試行錯誤で、なんとかできました。質問しっぱで自己解決してごめんなさい。式の入ったところをそのまま次の式で引用できるのを知らなかったので、変なコードになってました。やりたかったのは、0を先頭に付与するのと式で出した答えが式を消しても残るようにしたかったのです。ありがとうございます。

お礼日時:2017/11/17 15:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!