Excel VBA質問箱 IV

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

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


4703 / 13646 ツリー ←次へ | 前へ→

【55068】エクセル演算式の取得 トーモ 08/4/14(月) 2:28 質問[未読]
【55070】Re:エクセル演算式の取得 ichinose 08/4/14(月) 7:45 発言[未読]

【55068】エクセル演算式の取得
質問  トーモ  - 08/4/14(月) 2:28 -

引用なし
パスワード
   初めて質問させて頂きます。
エクセル(Ver.2003)のシート内にあるセルの演算式を取得したい
と思っています。私が言っている演算式とは、セルに"=A1+2"などと
入力するやつです。

例えば印刷範囲を指定して、その範囲内のセルの値を1つずつ取得
すると言った方法をとるのか?とは考えてみました。

しかし、印刷範囲外にあるセルのものは取得できないのか?
エクセルの全セルを検索するのか?などと考えていたら、わけが
分からなくなってしまいました。

皆さまならどうしますか?よいアイディアがあったら教えていただけると、
大変助かります。

【55070】Re:エクセル演算式の取得
発言  ichinose  - 08/4/14(月) 7:45 -

引用なし
パスワード
   ▼トーモ さん:
おはようございます。

>エクセル(Ver.2003)のシート内にあるセルの演算式を取得したい
>と思っています。私が言っている演算式とは、セルに"=A1+2"などと
>入力するやつです。

Sub test()
  On Error Resume Next
  Dim rng As Range
  Dim crng As Range
  Set rng = Range("a1:d100").SpecialCells(xlCellTypeFormulas)
  If Err.Number = 0 Then
    For Each crng In rng
     MsgBox crng.Address & " : " & crng.Formula
     Next
    End If
End Sub

上記コードでアクティブシートのセル範囲A1:D100で数式のあるセルと数式内容を
逐次表示しています。

コードを調べるとわかりますが、ポイントは、

Range("a1:d100").SpecialCells(xlCellTypeFormulas)

これです。

試してみてください。

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