[[20031024134118]] 『1行の中で最後に入力があるセルを反映したい』(まきりん) ページの最後に飛ぶ

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

 

『1行の中で最後に入力があるセルを反映したい』(まきりん)
 いつも、お世話になっております。
 1行の中で、右に連続して値を入力して、最後に入力があるセルを反映させるには
 どのように、考えればいいでしょうか?
 具体的には

 番号 日付 日付 日付 日付 日付 【本日現在】
 1   A  B  C           C
 2   D  E              E
 3   F                 F

                                           ↑このように表示したい!!
 入力を増やしても、ちゃんと連動して
 常に、本日現在のセルにその行の一番右に入力されているセルを反映するには
 ど〜考えていいのか・・・。知恵をお貸し下さい。
 宜しくお願いします。

 こんにちは
 =INDEX(A1:E1,COUNTA(A1:E1))
 でどうでしょうか。  (jun53)

 失礼しました、途中空白があると駄目みたいです。

 こんにちは〜。
 早速、試してみました!!
 確かに、途中空白があると0が返ってきます。
 途中に空白がある場合は、ハイフンを入力する事で
 対応し、無事思った通りの値が返ってくるようになりました(^o^)丿
 引数にCOUNTAを使うという発想が、なかなか思いつかないんですよねぇ〜。
 言われてみれば、なるほどぉ〜。と思うんですが・・・。
 もっと、頭が柔らかくなりたい今日この頃です。(笑)

 (jun53)さん、回答ありがとうございました。
 とっても助かりました。 (まきりん)

 はい、こちらは途中空白があっても大丈夫でっせ。
 ただし、関数ではおまへんねんで、えぇ。関数まがいのマクロですわ。
 その拾い出したい列っちゅうのがわかりまへんさかい、適当に書いてまっけど、中身を
 いじったら対応でけますさかい、いっぺん試してみておくんなはれ。
 '-------------
 Sub test()'→このマクロを実行
    Application.OnKey "~", "main"
 End Sub
 '----------------
 Sub main()
    t = ActiveCell.Column
    If t > 9 Then Exit Sub ’この数字で列範囲を指定
    n = ActiveCell.Row
    i = Cells(n, 9).End(xlToLeft).Column’この9も変更すべし
    Cells(n, 10) = Cells(n, i).Value ’この数字は出力列
 End Sub
 '------------------ 
 Sub stp()’→メソッド終了、データ以外(列範囲内の)の入力時実行
    Application.OnKey "~"
 End Sub
    テンキー ↓キーには対応してまへん、念のため。
    ほな...(おいぼれ 弥太郎)

 もう解決しているようですが、私も途中空白がある場合で1つ
=INDEX(B2:E2,MATCH(10^17,CODE(B2:E2)))でCtrl+Shift+Enterで配列式にします。(ケン)

 それでは、ついでにもう一つ
=INDIRECT(ADDRESS(ROW(),MAX(IF(B2:E2<>"",COLUMN(B2:E2),""))))
 でケンさん同様にCtrl+Shift+Enterで配列数式に。
 但し、日付は無視しているので、本日以降に予定などが入力されていても反映されます。
 日付を条件に入れる式は、考え中・・・  
 余計なお世話ですが、表示するセル(列)は、データの左端が良いのでは (sin) 

 わたしも作ってみました

 Function Saigo(rng As Range)

  Dim myRange As Range

  For Each myRange In rng
    If myRange.Value <> "" Then
      Saigo = myRange.Value
    End If
  Next

 End Function

 =Saigo(A1:F1) のように普通の関数と同じように使用してください  (りな)

 あらまぁ 空白対策を用意してきたら 四人もの方が・・・
 よくよく比べてみたら私のは人前に出せるものじゃない。。。 遅れて良かった。

 弥太郎さんや、りなさんのコード 他で流用出来そうですね。

 弥太郎さんにお願いがあるんですけど、
 私が以前、偉そうに書いたコード丸投げ依頼になるのですが、、、
 聞いて頂けますでしょうか? OK でしたら新スレッドで改めて書きますが如何でしょうか。  (jun53)

 上の書き方では OK もなにも出来ないですね。
 簡単な内容は
	    A		 B
 1	02/03/20		540
 2	02/03/21		260
 3	02/03/22		380
 1年半くらいの期間から指定期間内の [最大値] [最小値] [日数] を求めたい
 というものです。  (jun53)

 junちゃん、こんばんわ。
 任せておくんなはれ。但し、仕事の合間合間になりますさかい、期限を切られると困り
 ますけどな。なんたってマクロやったら知らん事以外ぜ〜んぶ知ってる程の物知り博士
 ですさかいな。大舟に乗ったつもりでスレ立てておくんなはれ。
 「今日耳日曜」っちゅうて逃げる手もおますしな、へへっ。
  又リードされてまんねんで、はよ応援せな。
      ほな...(おいぼれ 弥太郎)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.