[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『SUM関数の範囲の隣のセルにAを表示』(ササキ)
SUM関数の範囲の隣のセルにAを表示させることはできるでしょうか
たとえば下記の場合 C20=SUM(C1:C3,C7,C10,C12:C14) B1 B2 B3 B7 B10 B12 B13 B14 にAを表示させたいのです。 実際は200行くらいあります。 よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
こんばんわ。
関数の参照範囲を読み取って、何か処理をすると言うのは、まぁマクロでなら出来ない事は無いですが、
わざわざ飛び飛びの参照範囲にしてるのは、何か意味(条件)が合ってされていると思いますが、
その条件が分かれば関数でも可能かも知れませんし、マクロでも記述が簡略化されるかも知れません。 (関数で出来るかどうかは今の段階では分かりませんが?)
参照範囲を飛び飛びにしてる理由を、教えて下さい。
(sy) 2016/05/28(土) 22:44
横から失礼します。 こういうことでしょうか。 Sub test() Range("C20").DirectPrecedents.Offset(, -1).Value = "A" End Sub
(γ) 2016/05/28(土) 23:00
あっ!
そう言えばそんな便利なプロパティがありましたね。 失礼しました。
(sy) 2016/05/28(土) 23:30
丁寧なご回答ありがとうございます! 無事できました。
前任者が作った売上集計表を、グループ別に作り直そうと思っています。 (ササキ) 2016/05/29(日) 05:54
すみません。もう少しお願いします。
上記合計欄(sum関数)の位置が都度変わっています。 C20の位置を [シートから「合計」を探し出しその2つ右隣のセル] みたいなことができませんでしょうか?
(ササキ) 2016/05/29(日) 06:28
なお、そもそもですが、
「ワークシート分析」の「参照元のトレース」機能では
間に合わないものなんですか?
(γ) 2016/05/29(日) 08:16
・合計の検索マクロは下記のようなものになりました。 Cells.Find(What:="合計", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Activate
・ここから下記を走らせる方法が分かりません。 Range("C20").DirectPrecedents.Offset(, -1).Value = "A"
・「ワークシート分析」の「参照元のトレース」でも見えますが、200行もあり多くの表があるので速い方法を考えています。
(ササキ) 2016/05/29(日) 20:10
Dim found As Range
Set found = Cells.find(What:="合計", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False) If Not found Is Nothing Then found.Offset(0, 2).DirectPrecedents.Offset(, -1).Value = "A" Else MsgBox "合計項目はありません" End If
"A"を上書きして大丈夫なんですか?重要な値が消えないの?(譬えならかまわないけど)
「参照元のトレース」(ShowPrecedentsメソッド)も相当早いし、
まさにこういう時のために用意されているわけなんだけど。
(γ) 2016/05/29(日) 20:49
(γ)さん ありがとうございました。 とても感謝しています。
> "A"を上書きして大丈夫なんですか?重要な値が消えないの 作業列で対応します。
(ササキ) 2016/05/30(月) 21:09
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.