[[20050409104922]] 『異なるセルにある日時データの結合と並び替え』(モラー) ページの最後に飛ぶ

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

 

『異なるセルにある日時データの結合と並び替え』(モラー)

 こんにちは。
 フォームから日計データを入力させており、TextBox1〜3をそれぞれ年、月、日に割り当てて、
 データベースのA列、B列、C列に収まるようにしています。
 入力日が前後することがあり、データベースを日付順に並び替える必要がでてきました。

 A1    B1    C1    D1
 2005  4     9
 2005  3    25
 2005  4     8
 ・   ・    ・
 ・   ・    ・

 D1列に「=CONCATENATE(A1,"/",B1,"/",C1)」と式を入れ、以下ドラッグすることで、
 「2005/4/9」と表示されましたので、D1列をキーとして並び替えを行おうとしましたが
 全く並び変わりませんでした(><)。

 なにかいい方法がありましたら、ご教授願います。

 そもそも、日付を年、月、日に分けて入力させているところに問題があるような気も
 してきましたが、オペレーターによって入力方法が「2004/4/9」だったり「20040409」
 だったりしましたので、日付入力のTextBoxを年、月、日の3つに分けた経過があります。

 DATE関数を使ったらいかがですか?
 D1:=DATE(A1,B1,C1)
 # D1:=CONCATENATE(A1,"/",B1,"/",C1)*1でもいいはずですが・・・
 # (これ↑は、文字列をシリアル値へ変更します)
  (Hatch)


 ありがとうございました。どちらもうまくできました。
 D列だけを選択して並び替えさせようとしたため、動作できなかったようで、
 データ範囲全て選択しD列をキーに並び替えさせたらできました (f*^_^)
 エクセルの基本的な使い方の問題だったかもです。すいませんでした。

 (モラー)

 (追加を書いていたら衝突しちゃいました・・・)
テキストボックスの値から日付データにして、シートに放り込めば良さそうな気もします。
Sub test()
Dim myDate As Date
myDate = DateSerial(TextBox1.Value, TextBox2.Value, TextBox3.Value)
Cells(4, 1).Value = myDate
End Sub
   (Hatch)


 こちらこそ、衝突すいませんでした><、。
 追加のマクロ、一部仕様にあわせ変更しましたが、問題なく動作いたしました。
 Hatch様、ありがとうございました〜O(≧∇≦)O 

   (モラー)


コメント返信:

[ 一覧(最新更新順) ]


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