目安箱 IV

目安箱投稿のルールはこちらをごらんください。
ご意見は電子メールで承っています。
「目安箱」は質問禁止です。技術的な質問はそれぞれの質問箱へどうぞ。

迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
47 / 118 ツリー ←次へ | 前へ→

【218】コンボボックスやリストボックスに日付や時間を表示させる場合の違いについて Jaka 07/11/14(水) 15:16 Excel[未読]

【218】コンボボックスやリストボックスに日付や時...
Excel  Jaka  - 07/11/14(水) 15:16 -

引用なし
パスワード
   コンボボックスやリストボックスのRowSourceで、日付や時間の記入されているセルを指定すると、リストは参照セルの表示形式と同じで表示されますが、取得する値は参照しているセルの値(シリアル値)を返します。


例えば、Sheet1A1:A5に日付か時間が入っているものとし(複合可)、
フォーム上に
ComboBox1、CommandButton1、CommandButton2、CommandButton3、
CommandButton、TextBox1 のコントロールがあるとして。
以下のコードを試してみてください。


※ループしてのMe.ComboBox1.AddItemとTextプロパティの使用は、
書きませんでした。
Textプロパティ、セルに表示してあるのと同じ状態を取得するので、
「#######」だった場合、「#######」と取得するから。


************ 参考お試しコード

Const CombRag As String = "Sheet1!A1:A5"

'テキストに書き込み
Private Sub ComboBox1_Change()
 If Me.ComboBox1.ListIndex >= 0 Then
   Me.TextBox1.Value = Me.ComboBox1.List(Me.ComboBox1.ListIndex)
 End If
End Sub

'1、List&Valueプロパティ。
'  セルの値が時間だけの場合は、リストもシリアル値になる。
'  日付の場合は、コントロールパネルの地域の短い方の書式に依存する。
Private Sub CommandButton1_Click()
  Me.ComboBox1.Value = vbNullString
  'RowSourceをListに変える場合は、RowSourceをクリアする。
  Me.ComboBox1.RowSource = vbNullString
  Me.ComboBox1.List = Range(CombRag).Value
End Sub


'2、セルの表示形式のっとって表示。
Private Sub CommandButton2_Click()
  Dim CelFomt As String
  CelFomt = Range(CombRag).Cells(1).NumberFormatLocal
  Me.ComboBox1.Value = vbNullString
  'RowSourceをListに変える場合は、RowSourceをクリアする。
  Me.ComboBox1.RowSource = vbNullString
  Me.ComboBox1.List = Application.Text(Application.Evaluate(CombRag), CelFomt)
End Sub

'3、RowSource、リストの表示はセルの表示形式の通り
'  取得は、セルのシリアル値を取得する。
Private Sub CommandButton3_Click()
  Me.ComboBox1.Value = vbNullString
  Me.ComboBox1.RowSource = CombRag
End Sub

Private Sub CommandButton4_Click()
  If Me.ComboBox1.ListIndex >= 0 Then
   MsgBox Me.ComboBox1.Value & vbLf & _
       Me.ComboBox1.List(Me.ComboBox1.ListIndex)
  End If
End Sub

by Win2000 EXCEL2002SP3 & EXCEL2000SP1

因みに
コントロールパネル地域の短い方の日付の書式はこれで取れます。

MsgBox Format(Date, "Short Date")

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
47 / 118 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:   
0
(SS)C-BOARD v3.8 is Free