EXCEL VBAの日付の機能のことで教えていただきたいことがあります。
A列
1行:2008/02/01
2行:2008/02/03
3行:2008/02/04
・
・
コントロールツールボックスでコンボボックスをシートに挿入
Private Sub Workbook_Open()
With ComboBox1
.AddItem Range("A1")
.AddItem Range("A2")
.AddItem Range("A3")
・
・
End With
End Sub
コンボボックスには「2008/02/01」等と表示されたリストが表示されると思いますが、
選択した後の値を「2008/02/01(月)」というように、
日付の後に曜日を追加して表示させるにはどのような処理をしたらよろしいでしょうか。
Private Sub ComboBox2_Change()
ComboBox2 = ?
End Sub
というようなやり方かとは思うのですが、具体的なコードがさっぱり思い浮かびません。
どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんにちは。
A 列にあるのがシリアル値なら Format 関数を使えば簡単です。
こんな感じ。
aaa なら 月、火、水... となり、aaaa なら月曜日、火曜日...という
具合ですね。
Dim i As Long
Dim s As String
For i = 1 To 31
s = Format$(Worksheets("Sheet1").Cells(i, "A").Value, "yyyy/mm/dd(aaa)")
Worksheets("Sheet2").ComboBox1.AddItem s
Next
出来ました!ありがとうございました!
VBAで使用するFormat関数は詳細に解説してあるテキストが無く
毎回試行錯誤して結局失敗してしまいます。
また分からないことがありましたら
是非よろしくお願いいたします。
No.2
- 回答日時:
失礼ですが、コンボボックスの機能を思い違いしていませんか
「コンボボックス」は性別、都道府県名等のデータをN択するツールです。
特定場所にリストを用意しておき「listFillRange」にセル範囲を定義して利用します
例えばの名称を府県CMBとしますと
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
府県CMB.ListFillRange = a1: a48
End Sub
自分はExcellでコンボボックスの使用は避けています。
N択にはデータ(メニューバー)→入力規則と入り、入力値の種類を「リスト」にし元の値を範囲指定します。
>日付の後に曜日
・同じセルに曜日を表示するにはセルの書式で設定できます
ターゲットセルを右クリック→せルの書式設定→表示形式→ユーザ定義と入り
[g.e.y.m aaa],[gg.e.m.d(aaa)],[ggg-e-mm-ddaaaa]
[yy.mmm.d ddd],[yyyy.mmmm.d dddd]
ほかにもいろんな組み合わせを試してください
・別のセルに表示するには日付を次のセルにコピーまたは計算式で設定して表示書式を[aaa],[aaaa]または[aaaa]とします
・曜日を純粋に取り出したい時はWeekday関数を利用します(結果は数値で戻ってきます、漢字で表示するにはVlookUp関数も必要でしょう)
なるほど。。。
日付の一覧を取得するためのリストを作ろうと考えていたのですが、ご指摘のとおり、ちょっと無理があるというか
あまり適していないやり方だったかもしれません。
初心者のため、そうところの判断がまだまだつきません。
日付の後に曜日を挿入するやり方は色々と試してみます。
ありがとうございました。またわからないことがありましたら
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) ListBox1をClickしたときのイベント 5 2022/12/11 19:45
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) フォーム上のリストボックスに重複して表示しています 3 2022/10/19 11:55
- Visual Basic(VBA) リストボックス セルの値を取得する 1 2022/05/21 20:47
- Visual Basic(VBA) VBA ComboBoxについて 2 2022/10/21 12:15
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) VBA。複数のChangeイベントをまとめる方法 2 2022/03/31 12:03
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
-
4
ユーザーフォームにワークシートを表示させる。
その他(Microsoft Office)
-
5
Excel VBA ユーザーフォーム内のラベルにテキストボックスの計算結果を出す方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
リンク元の日付が空白の時リン...
-
【エクセル】数値にスラッシュ...
-
Excelのセルに数字を入れるが、...
-
エクセルの曜日表示が正しく表...
-
Excel2013 表示形式で「1,000...
-
エクセルでアポストロフィーが...
-
斜線が入ったセルのカウント
-
EXCELで24時間表記を午前...
-
Excelで「20080707」を『2007/0...
-
時間を分に換算する方法
-
EXCELからCSVへ変換すると0が...
-
EXCEL (0.5)の表示の仕方
-
EXCELで12/1と日付を打ったら
-
エクセルでの年月日表示につき...
-
エクセル2010で日付、曜日の表示法
-
時刻計算
-
エクセルの操作教えて下さい。...
-
エクセルでの書式設定・・曜日...
-
Excel2007関数 日をまたぐ時刻...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
リンク元の日付が空白の時リン...
-
エクセルの曜日表示が正しく表...
-
【エクセル】数値にスラッシュ...
-
Excel2013 表示形式で「1,000...
-
Excelで「20080707」を『2007/0...
-
Excelのセルに数字を入れるが、...
-
エクセルでアポストロフィーが...
-
斜線が入ったセルのカウント
-
EXCELからCSVへ変換すると0が...
-
エクセルで日付を全角にしたい
-
西暦から、曜日を表示⇒何も入力...
-
エクセルで9と入力したら時刻...
-
EXCELで勝手に約分されてしまう
-
エクセル 4ケタの数字を年月に...
-
Excel 時間の表示形式 セルと...
-
Excelのセルの書式設定(100...
-
EXCEL (0.5)の表示の仕方
-
エクセル 日付の表示を200...
-
Excel時間の入力方法
おすすめ情報