

ExcelのROUND関数を一括解除(削除)したいのですが、
やり方を教えてください。
具体的には、
以下のような計算式
=ROUND('収入データ'!A176/'収入データ'!A181,3)
を
='収入データ'!A176/'収入データ'!A181
にしたいのです。
sheet内の表中あちこちに、
=ROUND('収入データ'!A26/'収入データ'!A31,3)
=ROUND('収入データ'!A56/'収入データ'!A61,3)
=ROUND('収入データ'!A86/'収入データ'!A91,3)
などのROUND関数が設定されています。
置換で、*や?を使って試してみましたが、
「入力した数式にはエラーがあります。」という
エラーメッセージが出て、うまく実行できません。
そもそも置換機能では一括解除(削除)できないのでしょうか。
以上、よろしくお願いします。
No.4ベストアンサー
- 回答日時:
VBAですが、標準モジュールに下記を貼り付けて、実行する。
Sub test01()
Dim cl As Range
For Each cl In Selection
If cl.HasFormula Then
f1 = cl.Formula
p = InStr(f1, "ROUND")
If p <> 0 Then
s1 = Split(f1, ",")
s2 = Split(s1(0), "(")
f2 = "=" & s2(1)
cl.Formula = f2
End If
End If
Next
End Sub
ROUNDという式のありそうな(大き目の)、セル範囲全体を範囲指定して、実行してください。ROUNDDOWN、ROUNDUPも省かれます。
上記VBAは式のあるセルを対象にし、ROUNDがあるか。あれば、初め式をカンマでわけ、その1番目をとり、再度その1番目を対象に、
それを(でわけその2番目をとり、=と結合したものを式として設定してます。
他の関数はそのままのはずです。
質問者はVBAがはじめてらしいのですが、上げてみます。
ご指摘どおりVBAは初めてです。
Visual Basic Editorを開いて、何とか「標準モジュール」を見つけて、
貼り付けて、実行してみたら、
(実行された数式の解読までは無理ですが・・・)
確かに出来ました!
ありがとうございました。
No.3
- 回答日時:
何回かに分ければできます。
検索する文字列:=ROUND(
置換後の文字列:★
[すべて置換]
検索する文字列:,3)
置換後の文字列:
[すべて置換]
検索する文字列:★
置換後の文字列:=
[すべて置換]
以上です。
No.2
- 回答日時:
こんな方法でもよいのでしょうか?
Sub test()
Dim i As Range
Dim j As Long
Dim k As String
For Each i In ActiveSheet.UsedRange
If i.FormulaLocal Like "=ROUND*" Then
j = Len(i.FormulaLocal)
k = Mid(i.FormulaLocal, 8, j)
i.Value = "=" & Left(k, j - 10)
End If
Next
End Sub
この回答への補足
SuperMildさん、上記はもしかしてマクロを使う方法でしょうか。
上記方法を是非とも試してみたいのですが、
私はマクロ使用経験がなく、ハードルが高くて、
今すぐ内容を理解することができません。
・・・申し訳ないです。
ありがとうございました。
No4の方の情報をもとに何とか実行してみたのですが、残念ながら
「アプリケーション定義またはオブジェクト定義のエラーです。」と出てしまいました。
デバッグを見たら、
i.Value = "=" & Left(k, j - 10)
のところに黄色マークが付いていました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Ctrl+Hで置換にならない
-
巡回置換と交代群について
-
PowerPointの置換の「すべて置...
-
ExcelのROUND関数を一括解除し...
-
txtファイル内の指定の単語の数...
-
パワーポイントの置き換えマクロ
-
htmlタグを一度に編集できますか?
-
カンマ区切り形式ではなく、セ...
-
<IFRAME>でコンテンツ部分のみ...
-
左右クリック禁止でクリックす...
-
htmlでテキストファイルの中身...
-
チキン南蛮のソース タルタル派...
-
エクセルVBAでマルチページの切...
-
何度も申し訳ないです…今度は周...
-
ビルダー 不要なタグの生成を...
-
SEOについて教えて下さい。
-
リダイレクト前のURLをブックマ...
-
パワーポイントで参照ページを...
-
リンクを送るとは?
-
APIで取得した情報の「次ページ」
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PowerPointの置換の「すべて置...
-
巡回置換と交代群について
-
カンマ区切り形式ではなく、セ...
-
txtファイル内の指定の単語の数...
-
ExcelのROUND関数を一括解除し...
-
Ctrl+Hで置換にならない
-
Wordチェックボックス作り方(...
-
秀丸エディタ タブをカンマに...
-
Wordで一括して改ページする方法
-
エクセルで置換リストを別ブッ...
-
複数PDFファイル内の特定文字列...
-
アクセスのテーブル上でデータ...
-
複数の置換を1回だけの操作でや...
-
WZ Editor10 の置換ダイアログ...
-
エクセルでアルファベット5段階...
-
Flexible Renamerの正規表現の...
-
Accessで、特定の記号を削除し...
-
文字を一括で置換するソフト・...
-
同じような文字列で、特定の間...
-
vbaで実行後、指定のセルに戻す...
おすすめ情報