Excel VBA質問箱 IV

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

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


16390 / 76732 ←次へ | 前へ→

【65810】Re:コマンドバー「フォーム」にあるComboボックスの値を評価
発言  ichinose  - 10/6/29(火) 6:04 -

引用なし
パスワード
   ▼みーちゃんキャット さん:
おはようございます。

>ComboBoxをフォームボタンを使い、Excelシート上に貼り付けてあります。
>リスト表示させるDataは別のシートから書式設定で入力範囲を指定しています。
>評価したいのは文字列なのですが、どのようにしたら良いのでしょうか?
コードを記述するようにしてください。

ComboBoxというのは「コントロールツールボックス」にあるコンボボックス
(ActiveXコントロールですよね?)

新規ブックにて、標準モジュールに

Sub test1()
  On Error Resume Next
  ActiveSheet.OLEObjects.Delete
  With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
    DisplayAsIcon:=False, Left:=216, Top:=54, Width:=216, Height:=27.75)
    With Range("a1:a20")
     .NumberFormatLocal = "[$-411]ggge""年""m""月""d""日"""
     .Cells(1).Value = Date
     With .Range("a2:a20")
       .Formula = "=a1+1"
       .Value = .Value
     End With
    End With
    MsgBox "A列の日付をコンボボックスに反映させます"
    .ListFillRange = "=" & Range("a1:a20").Address
  End With
  On Error GoTo 0
End Sub

問題にしているのは、上記のtest1を実行した場合のコンボボックスのデータですよね?
選択リストは 平成xxxで表示されますが、選択したデータは、シリアル値で
表示されてしまいます。

方法1

データを文字列でコンボボックスに登録すれば・・・、

新規ブックにて、標準モジュールに

Sub test2()
  On Error Resume Next
  ActiveSheet.OLEObjects.Delete
  With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
    DisplayAsIcon:=False, Left:=216, Top:=54, Width:=216, Height:=27.75)
    With Range("a1:a20")
     .NumberFormatLocal = "[$-411]ggge""年""m""月""d""日"""
     .Cells(1).Value = Date
     With .Range("a2:a20")
       .Formula = "=a1+1"
       .Value = .Value
     End With
    End With
    MsgBox "A列の日付をコンボボックスに反映させます"
    With .Object
     .List = Evaluate("transpose(text(a1:a20,""ggge""""年""""m""""月""""d""""日""""""))")
    End With
  End With
  On Error GoTo 0
End Sub

上記のtest2を実行し、コンボボックスを操作してみてください。
今度は、選択した日付も 平成xxxx で表示されます。


方法2
Excelコントロールのコンボボックスを使うと問題なく、表示されます。
簡単な修正方法は↑これを使うという方法。


試してみてください。
2 hits

【65805】コマンドバー「フォーム」にあるComboボックスの値を評価 みーちゃんキャット 10/6/28(月) 21:55 質問
【65810】Re:コマンドバー「フォーム」にあるComboボ... ichinose 10/6/29(火) 6:04 発言
【65811】Re:コマンドバー「フォーム」にあるComboボ... ichinose 10/6/29(火) 6:07 発言
【65818】Re:コマンドバー「フォーム」にあるComboボ... Jaka 10/6/29(火) 15:18 発言
【65830】コマンドバー「フォーム」にあるComboボッ... みーちゃんキャット 10/6/29(火) 20:19 質問
【65831】Re:コマンドバー「フォーム」にあるComboボ... ichinose 10/6/29(火) 21:27 発言
【65834】Re:コマンドバー「フォーム」にあるComboボ... みーちゃんキャット 10/6/29(火) 22:09 お礼
【65848】Re:コマンドバー「フォーム」にあるComboボ... みーちゃんキャット 10/6/30(水) 21:25 質問
【65852】Re:コマンドバー「フォーム」にあるComboボ... ichinose 10/7/1(木) 7:41 発言
【65874】Re:コマンドバー「フォーム」にあるComboボ... みーちゃんキャット 10/7/4(日) 14:59 お礼
【65917】Re:コマンドバー「フォーム」にあるComboボ... mura 10/7/7(水) 8:54 回答
【65919】Re:コマンドバー「フォーム」にあるComboボ... みーちゃんキャット 10/7/7(水) 12:19 発言
【65955】Re:コマンドバー「フォーム」にあるComboボ... UO3 10/7/10(土) 9:06 発言
【65838】Re:コマンドバー「フォーム」にあるComboボ... mura 10/6/30(水) 8:27 回答
【65849】Re:コマンドバー「フォーム」にあるComboボ... みーちゃんキャット 10/6/30(水) 21:27 お礼

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