
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
リンク元の日付が空白の時リン...
-
Excelのセルの書式設定(100...
-
Excel2013 表示形式で「1,000...
-
エクセルの曜日表示が正しく表...
-
Excelのセルに数字を入れるが、...
-
EXCELからCSVへ変換すると0が...
-
エクセルでアポストロフィーが...
-
エクセルで9と入力したら時刻...
-
Excel 時間の表示形式 セルと...
-
エクセル 4ケタの数字を年月に...
-
EXCELで勝手に約分されてしまう
-
西暦から、曜日を表示⇒何も入力...
-
エクセルで日付を全角にしたい
-
Excelで「20080707」を『2007/0...
-
【エクセル】数値にスラッシュ...
-
EXCEL (0.5)の表示の仕方
-
エクセルの関数に関しての質問...
-
エクセルで 00 を表示させ...
-
斜線が入ったセルのカウント
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
リンク元の日付が空白の時リン...
-
エクセルの曜日表示が正しく表...
-
Excelのセルに数字を入れるが、...
-
エクセルでアポストロフィーが...
-
EXCELからCSVへ変換すると0が...
-
Excel2013 表示形式で「1,000...
-
斜線が入ったセルのカウント
-
EXCELで勝手に約分されてしまう
-
エクセルで9と入力したら時刻...
-
エクセル 4ケタの数字を年月に...
-
西暦から、曜日を表示⇒何も入力...
-
【エクセル】数値にスラッシュ...
-
エクセルで日付を全角にしたい
-
Excelのセルの書式設定(100...
-
Excelで「20080707」を『2007/0...
-
エクセルで0101と入力→08年01月...
-
Excel 時間の表示形式 セルと...
-
yyyy/mm/ddとユーザー定義しても…
-
EXCELで24時間表記を午前...
おすすめ情報