[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『異なるセルにある日時データの結合と並び替え』(モラー)
こんにちは。 フォームから日計データを入力させており、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.