• ベストアンサー

[EXCEL97] セルの中身を一括変更する方法を教えてください。

エクセル97について質問です。 Sheet1のC8に 式1 Sheet2のC8に 式2 Sheet3のC8に 式3 . . . がはいっています。 式1を IF(ISERROR(式1),"-",式1)へ、 式2を IF(ISERROR(式2),"-",式2)へ . . . といったように一括変換する方法はありませんでしょうか? 大量のデータがあり、手作業で直すのは大変な状況です。工夫すればすぐにできそうなのですが、初心者であり、思い付きません。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.6

こんにちは。 マクロの使い方が解るなら、、、 Sub Test() Dim ws As Worksheet, r As Range, s As String For Each ws In Worksheets  Set r = ws.Range("C8")  If r.HasFormula = True Then    s = Mid(r.Formula, 2, Len(r.Formula))    r.Formula = "=IF(ISERROR(" & s & _           "),""-""," & s & ")"  End If Next ws End Sub 2度実行してはダメですよ。

GI-EN
質問者

お礼

ありがとうございます。直接的な答えですね。仕事がはかどりました。また何かのときはよろしくおねがいします!

その他の回答 (5)

  • nihonjinn
  • ベストアンサー率39% (79/200)
回答No.5

条件書式を使えばいいのではないでしょうか。「書式」→「条件付き書式」で「数式が」を=ISERROR(C8)にし、書式を文字を白にするなりしてやればいいと思います。これをシートを一括選択して行えば早いです。

GI-EN
質問者

お礼

すばやいご返答ありがとうございました! 感謝してます

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.4

式の中身に限らず、文字の並び方がほかにどこでも使われていないのでしたら、Ctrl+Hで起動する置換がつかえるはずです。 置換ウィンドウ内はデフォルトではクリップボード内を貼り付けることが出来ず、手で入力する必要がありますが、これもクリップボードユーティリティ関連のフリーソフトで対処できます。

GI-EN
質問者

お礼

さっそくの御返事ありがとうございました。 置換コマンド便利ですね!

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.3

シート内の式を置換してしまえば可能です。 編集から置換を選択し、検索する文字列に変えたい式を入力(=から全て入れてください。)置換後の文字列に変更後の式を入力する。この時、右にあるチェックボックスは全てチェックを外しておいた方が良いでしょう。後は、全て置換を押し完了です。 但し、同一シート内だけで置換が出来ますから、各シート別に置換を行わなければいけませんが。

  • nihonjinn
  • ベストアンサー率39% (79/200)
回答No.2

同じセルで同じ数式なら変更したいセルを選んでからCtrlキーを押しながら他のシートをクリックして選択してから入力すると一括して他のシートにも入力できるんですけどね。

  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.1

どれか一つセルを変更したい式に変えてください。そのセルをコピーしてください。 その状態から、コピーさせたいセルを、ドラッグして範囲指定してください。 右クリック→「形式を選択して貼付け」→「数式」チェックして、「OK」ボタンで式だけコピーできます。 sheet2もsheet3同様にしてください。

GI-EN
質問者

お礼

すばやい御返事ありがとうございました。

関連するQ&A