Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9614 / 13644 ツリー ←次へ | 前へ→

【26392】平成・・・・・を並び替え 琴葉 05/7/4(月) 13:34 質問[未読]
【26394】Re:平成・・・・・を並び替え りん 05/7/4(月) 14:11 回答[未読]
【26404】Re:平成・・・・・を並び替え 琴葉 05/7/4(月) 15:52 質問[未読]
【26406】Re:平成・・・・・を並び替え りん 05/7/4(月) 16:08 回答[未読]
【26409】Re:平成・・・・・を並び替え 琴葉 05/7/4(月) 17:21 お礼[未読]

【26392】平成・・・・・を並び替え
質問  琴葉  - 05/7/4(月) 13:34 -

引用なし
パスワード
       A       B        C
1 平成15年12月30日
2 平成15年12月31日
3 平成17年12月31日
4 平成8年10月8日
5 平成8年5月8日
6 平成8年8月8日

並び替えを行うと、上記のようになってしまいます。
エクセルの基本機能では無理?なのでしょうか
これを

    A       B        C
1 平成8年5月8日
2 平成8年8月8日
3 平成8年10月8日
4 平成15年12月30日
5 平成15年12月31日
6 平成17年12月31日

としたいのですが、VBAなら対応できるかもと思ったのですがスキルがありません。
もし分かりましたら、教えてくださいお願いいたします。

【26394】Re:平成・・・・・を並び替え
回答  りん E-MAIL  - 05/7/4(月) 14:11 -

引用なし
パスワード
   琴葉 さん、こんにちわ。

>    A       B        C
>1 平成15年12月30日
>2 平成15年12月31日
>3 平成17年12月31日
>4 平成8年10月8日
>5 平成8年5月8日
>6 平成8年8月8日

文字列で入っているのですね。

(1) 別の列で数値にする
あいている列(B列等)に、
 =DATEVALUE(A1)
と入れて6行目までコピーし、その列でソートする。

(2) セルの書式設定で表示のみ平成にする。
A列で範囲を選択後、
セルの書式設定→表示形式→日付→平成年月日(ggge"年"m"月"d"日")
書式を指定したしたセルで F2(再編集) → Enter を繰返すと、セルの表示は平成で、数式バーでは西暦で表示されるようになるので、この状態でソートする。

【26404】Re:平成・・・・・を並び替え
質問  琴葉  - 05/7/4(月) 15:52 -

引用なし
パスワード
   りん さんありがとうございます。

Text有効期限.Text = Format(Cells(行数, 4).Value, "ggge年m月d日")

上記によりユーザーフォームからセルに記入してるのですが表示は平成・・・となりますが
てっきり書式設定が変わってると思っていましたら、りんさんの言う通り書式設定は
変わっていませんでした。
本にも日付に関して、あまり載っていません・・・どうしたらよろしいでしょうか?
(はじめから書きませんで申し訳ありません)

【26406】Re:平成・・・・・を並び替え
回答  りん E-MAIL  - 05/7/4(月) 16:08 -

引用なし
パスワード
   琴葉 さん、こんにちわ。

>Text有効期限.Text = Format(Cells(行数, 4).Value, "ggge年m月d日")

これはセルからテキストボックスに値を与えてますよね。

>てっきり書式設定が変わってると思っていましたら、りんさんの言う通り書式設定は
>変わっていませんでした。

フォームにTEXTBOX1とCOMMANDBUTTON1をおいて試行。
Private Sub CommandButton1_Click()
  With Range("A1")
   .Value = DateValue(TextBox1.Text)
   .NumberFormat = "ggge年m月d日" '既に書式を設定してあるときは必要なし
  End With
  Me.Hide 'フォームを閉じる
End Sub

Private Sub UserForm_Activate()
  TextBox1.Text = Format(Cells(1, 4).Value, "ggge年m月d日")
End Sub

こんな感じです。

【26409】Re:平成・・・・・を並び替え
お礼  琴葉  - 05/7/4(月) 17:21 -

引用なし
パスワード
   りん さん度々ありがとうございます。

すごいです、うまくいきました。
又何かありましたらよろしくお願いいたします。

9614 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free