Excel VBA質問箱 IV

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

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


40479 / 76732 ←次へ | 前へ→

【41351】Re:シートのコピー(計算式を除く):一...
回答  へっぽこ  - 06/8/7(月) 13:04 -

引用なし
パスワード
   > ここで反転後,F5で数式を選んでOK。そしてDELを押すと
> 値も消えてしまいました。
> 値を残し,数式だけを消す方法はございますでしょうか?

「まったくの初心者です。」さんのやりたいことの解釈が違ったようですね。(^^;)>
「値を残し、数式だけを消す」というよりも「数式は値として貼り付けたい」
ということではないでしょうか?

そうすると1つはジャンプをやめて、
・最初に普通に貼りつけ。(書式や罫線をコピーするため)
・次に同じ物をコピー→形式を選択して貼りつけ→値(これにより数式を値にする)

とするか、もしくはジャンプ機能までは一緒で、

Sub サンプル2()
  Dim 該当セル As Range
  Dim 各々のセル As Range
  'ジャーンプ機能。
  Set 該当セル = Range("A1:E14").SpecialCells(xlCellTypeFormulas, 23)
  If 該当セル Is Nothing Then
    MsgBox "数式セルはありません。"
  Else
    'ジャンプで選ばれたセルの1つ1つを処理する。
    For Each 各々のセル In 該当セル
      '値として設定しなおす。
      各々のセル.Value = 各々のセル.Value
    Next
  End If
End Sub

とするか。でしょうか。

ちなみに上記のマクロの
各々のセル.Value = 各々のセル.Value
が「同じ内容を設定してなんの意味があるの?」と感じるかもしれませんが、

数式が入っているセルを1つ選んだ状態で以下のマクロを動かしてもらえると
わかって頂けるかな〜?と。

Sub セルの内容をいろいろな角度で表示()
  MsgBox ActiveCell.Value '値として表示
  MsgBox ActiveCell.Formula '数式として表示
  MsgBox ActiveCell.FormulaR1C1 '数式(R1C1形式)として表示
End Sub

で、値として捉えた内容をそのまま設定し直しているのです。
(回答としてあってるかな?)
1 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 発言

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