- ベストアンサー
数式の変更
こんばんは 数式を下記の要に変更したいのですが・・・ =◆/9 → =ROUNDDOWN(◆/9,0) かなりたくさんのセルに数式が入っています。 すべて同じ数式ならばいいのですが、ところどころ違う数式が入っていますので、置換にてうまく変更できないかと思っています。 「*」など使ってやってみましたが うまくいきません! どうぞよろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No2 の訂正です。削除する行を間違えました。(--;) Sub ReplaceFormulasX() Dim rng As Range Dim wk As String For Each rng In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas) wk = rng.FormulaLocal If wk Like "=*/9" Then rng.FormulaLocal = "=ROUNDDOWN(" & Mid$(wk, 2) & ",0)" End If Next End Sub
その他の回答 (4)
- cockerel
- ベストアンサー率46% (253/548)
>すべて同じ数式ならばいいのですが、ところどころ違う数式が入っていますので、 同じような質問があります。よろしければ、参考にしてください。 http://okwave.jp/kotaeru.php3?q=1935661
お礼
回答ありがとうございました。 参考にさせていただきました。
- mu2011
- ベストアンサー率38% (1910/4994)
全ての数式が対象にりますが次の方法は如何でしょうか。 1.編集→ジャンプ→セル選択→数式をチェックオン→OK 2.数式バーに選択されたセルを変更→完了時にctrl+enter
お礼
回答ありがとうございました。 なるほど・・・この手もありますね! 全ての数式が同じ場合また使わさせていただきます。
- bonaron
- ベストアンサー率64% (482/745)
アクティブなシートの 数式が 「=・・・・/9」 のセルのみ変換するマクロです。 バックアップを取ってからお試しください。 Sub ReplaceFormulas() Dim rng As Range Dim wk As String For Each rng In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas) Debug.Print rng.Formula If wk Like "=*/9" Then rng.FormulaLocal = "=ROUNDDOWN(" & Mid$(wk, 2) & ",0)" End If Next End Sub
- kash
- ベストアンサー率48% (14/29)
置換ではないですが、 例えば "=◆/9" という式がA1~A9まで入っているなら、 B1に "=ROUNDDOWN(A1,0)" を入れて、B1をB2~B9にコピー というやり方ではどうでしょうか。
お礼
回答ありがとうございました。 この方法ですと、数式がところどころ違うのが入っているので・・・
お礼
回答ありがとうございました! VBAは勉強・・しないと・・と思いつつ、敷居が高く・・ 無事置換することもでき、勉強にもなりました。 ありがとうございました!