[[20160528193144]] 『SUM関数の範囲の隣のセルにAを表示』(ササキ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『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


できますよ。
検索する動作をマクロ記録してみて下さい。
Findメソッドの返り値(通常はRangeオブジェクト)のOffset(,2)を
対象にすればよいですよ。トライしてみて下さい。

なお、そもそもですが、
「ワークシート分析」の「参照元のトレース」機能では
間に合わないものなんですか?
(γ) 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.