No.2ベストアンサー
- 回答日時:
こんばんは。
>別シートを参照していれば、値で貼り付けて、
>そのシートからシート参照を無くしたいです。
値を貼り付けるのは別にして、私も困っていましたので、作ってみました。
試してみてください。なお、私の方は、[個人用マクロブック]の中に入れることにします。
クイックアクセスツールバーなどに入れる便利かもしれません。
ただし、SearchRefFormula の名前は、「リンク検索」とかにしてください。探しやすいからです。
>一般的にはどのように判定するものでしょうか。
雑誌などで有名な人のマクロでは、Find メソッドを使っていましたが、ご質問者さんのHasFormula を活かすためには、以下のようなSpecialCells のほうがよいかと思いました。
*の部分は、私個人のマクロの部分です。なんとなく想像が付くと思います。
'//標準モジュールのみ
Sub SearchRefFormula()
Dim wb As Workbook
Dim sh As Worksheet
Dim Rng As Variant
Dim c As Variant, i As Long
Dim n As Long 'Static n As Long '*
n = 1
Const sFIND As String = "!"
Const sFIND2 As String = "*.xls?]*"
' If n = 1 Then
Set wb = ActiveWorkbook
' End If
For i = n To wb.Worksheets.Count
On Error Resume Next
Set Rng = Worksheets(i).Cells.SpecialCells(xlCellTypeFormulas, 23)
On Error GoTo 0
If TypeName(Rng) = "Range" Then
Application.ScreenUpdating = False
For Each c In Rng.Cells
If InStr(2, c.Formula, sFIND) > 0 Or _
c.Formula Like sFIND2 Then
c.Value = c.Value
Beep
'*
End If
Next c
End If
Application.ScreenUpdating = True
Next i
n = 0
If n = 0 Then
MsgBox "完全に終了しました。", vbInformation
End If
End Sub
'--------------
私のためのマクロは
''c.Interior.ColorIndex = 38 '色を付ける場合
''wb.Worksheets(i).Select 'シートを開く
''Beep '音が出る
''End '止める
'-----------------
No.3
- 回答日時:
ご質問の内容自体が一般的でないため、当然、一般的な判定方法も無いと思います。
よって、_shuichi_さんの判定方法が正解と考え良いのではないでしょうか。
ちなみに、=A1+Sheet2!A1のように、ひとつの数式に自シートと他シートを同時に使用していた場合は、値で張り付けですか?
そうなると、シート内での整合性が保証できなくなります。
結果的に、すべて値張り付けする必要があるような気がするのですが、いかがでしょう?
ご回答、ありがとうございました。
そうですね。「=A1+Sheet2!A1」のようなケースは想定していませんでした。
でも、幸いにそのようなケースは無かったので大丈夫でした。
大変参考になりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
別のシートから値を取得するとき
Visual Basic(VBA)
-
エクセルVBA 数式の中に、変数で定義したシート名を入力するには
Excel(エクセル)
-
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
Excelで金銭出納帳。繰越残高を...
-
excelでシート毎の最終更新日を...
-
シートを追加・名前を次月に変...
-
Excelのシートを、まとめて表示...
-
エクセル 計算式も入っていない...
-
特定のシートの削除を禁止した...
-
エクセルで前のシートを連続参...
-
エクセルでファイルを開いたと...
-
Accessのスプレッドシートエク...
-
Excel、同じフォルダ内のExcel...
-
シートの保護のあとセルの列、...
-
エクセルのシート名をリスト化...
-
別シート参照のセルをシート毎...
-
前の(左隣の)シートを連続参...
-
エクセルVBAでパスの¥マークに...
-
エクセルで毎回1枚目のシートを...
-
VBAでシートコピー後、シート名...
-
EXCELで1ヶ月分の連続した日付...
-
Excelで同じシートのコピーを一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルVBAでパスの¥マークに...
-
前の(左隣の)シートを連続参...
-
EXCEL:同じセルへどんどん足し...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
Excelのシートを、まとめて表示...
-
エクセルのシート名をリスト化...
-
VBAでシートコピー後、シート名...
-
特定のシートの削除を禁止した...
-
エクセルで前シートを参照して...
-
シートの保護のあとセルの列、...
-
エクセル 計算式も入っていない...
-
エクセルで複数設定したハイパーリンク先...
-
EXCELで1ヶ月分の連続した日付...
-
Excel、同じフォルダ内のExcel...
-
Accessのスプレッドシートエク...
-
EXCELで同一フォーマットのシー...
-
excelでシート毎の最終更新日を...
おすすめ情報