Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


40482 / 76732 ←次へ | 前へ→

【41348】Re:シートのコピー(計算式を除く):一...
発言  へっぽこ  - 06/8/7(月) 12:08 -

引用なし
パスワード
   ジャーンプ!機能は…

ワークシートの画面で、
・対象となるセル範囲を選択。
・「編集」→「ジャンプ」と選択。(イキナリF5でもおんなじ)
・「セル選択」を押す。
・「数式」を選んで、「OK」

で数式が入力されているセルが選ばれるのでDELキーでクリアすれば
いいかなーと思いました。

これをマクロで書くとこんな感じでしょうか。
(対象範囲を勝手にA1〜E14とさせてもらいます)

Sub サンプル()
  Dim 該当セル As Range
  'ジャーンプ機能。
  Set 該当セル = Range("A1:E14").SpecialCells(xlCellTypeFormulas, 23)
  If 該当セル Is Nothing Then
    MsgBox "数式セルはありません。"
  Else
    'DELキーと一緒。
    該当セル.ClearContents
  End If
End Sub

ちなみに
SpecialCells(xlCellTypeFormulas, 23)
                 ~~
の23はジャンプの画面にある
数値  → xlNumbers  → 1
文字  → xlTextValues → 2
論理値 → xlLogical  → 4
エラー値→ xlErrors   →16
をぜーんぶ足した値だったりします。
なので
23と書く代わりに
〜(xlCellTypeFormulas, xlNumbers + xlTextValues + xlLogical + xlErrors)
という書き方もアリです。

さらに
〜(xlCellTypeFormulas, 16) としたり
〜(xlCellTypeFormulas, xlErrors) とすれば、
数式の中でもエラーになっているもの(#N/Aや#VALUEなど)だけを
対象にすることもできます。

以上で〜す。(^^)/

0 hits

【41343】シートのコピー(計算式を除く):一部数... まったくの初心者です。 06/8/7(月) 11:23 質問
【41345】Re:シートのコピー(計算式を除く):一部... へっぽこ 06/8/7(月) 11:35 発言
【41347】Re:シートのコピー(計算式を除く):一... まったくの初心者です。 06/8/7(月) 11:50 質問
【41348】Re:シートのコピー(計算式を除く):一... へっぽこ 06/8/7(月) 12:08 発言
【41349】Re:シートのコピー(計算式を除く):一... まったくの初心者です。 06/8/7(月) 12:36 質問
【41351】Re:シートのコピー(計算式を除く):一... へっぽこ 06/8/7(月) 13:04 回答
【41352】Re:シートのコピー(計算式を除く):一... まったくの初心者です。 06/8/7(月) 13:09 お礼
【41353】Re:シートのコピー(計算式を除く):一... へっぽこ 06/8/7(月) 13:15 発言
【41350】Re:シートのコピー(計算式を除く):一... へっぽこ 06/8/7(月) 12:47 発言

40482 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free