コンボボックスのvba 作成の仕方
私は、月別にデータを作っています。なので、月ごとにデータを見られるようなボタンを作成したいです。
現在組んでいるマクロは、ボタン(普通の四角いもの)を押すごとに、翌月データをコピペするというものになっています。 (以下、現在のコード記載)
Sub auto_open()
Dim wkm As Long
Dim wkn As Long
Dim wkt As Variant
Dim wks As Variant
Dim dt As Date
Dim mi As Integer
dt = Date
mi = Month(dt)
wkt = Array(0, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9)
wks = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
wkm = wkt(mi)
Call Macro1(wkm)
Sheets("住宅資金").Range("A3") = wks(mi)
End Sub
Sub Next_Month()
Dim wks As Variant
Dim dt As Date
Dim mi As Integer
wks = Array(0, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9)
If Sheets("住宅資金").Range("A3") = 12 Then
wkm = 10
Else
wkm = wks(Sheets("住宅資金").Range("A3") + 1)
End If
Call Macro1(wkm)
wks = Array(0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3)
Sheets("住宅資金").Range("A3") = wks(wkm)
End Sub
Sub Macro1(ByVal wkm As Long)
With Sheets("入力")
Sheets("住宅資金").Range("D5:D23").Value = .Range("C5:C23").Offset(, wkm - 1).Value
Sheets("住宅資金").Range("J5:J23").Value = .Range("C28:C46").Offset(, wkm - 1).Value
Sheets("住宅資金").Range("P5:P23").Value = .Range("T28:T46").Offset(, wkm - 1).Value
Sheets("住宅資金").Range("O5:O23").Value = .Range("T5:T23").Offset(, wkm - 1).Value
Sheets("住宅資金").Range("F5:F23").Value = .Range("O5:O23").Value
Sheets("住宅資金").Range("L5:L23").Value = .Range("O28:O46").Value
End With
With Sheets("目標")
Sheets("住宅資金").Range("C5:C23").Value = .Range("B4:B22").Offset(, wkm - 1).Value
Sheets("住宅資金").Range("I5:I23").Value = .Range("B27:B45").Offset(, wkm - 1).Value
End With
With Sheets("前年同期")
Sheets("住宅資金").Range("H5:H23").Value = .Range("C5:C23").Offset(, wkm - 1).Value
Sheets("住宅資金").Range("N5:N23").Value = .Range("C28:C46").Offset(, wkm - 1).Value
Sheets("住宅資金").Range("Q5:Q23").Value = .Range("T5:T23").Offset(, wkm - 1).Value
End With
End Sub
さて、現在作りたいと思っているものを以下に記述します。
普通の四角いボタンではなく、コンボボックスを使用して、矢印(▼)を押すことによってリストが表れ、
「1月」に合わせたら1月のデータがコピペされる、「8月」に合わせたら8月のデータがコピペされる、というものを作りたいと思っています。
以下のような空欄の表を作成したシートがあります。
A B C D
1 目標 実績 … …
2 ○支所
3 △支所
4 ・
5 ・
6 ・
別のシートに、手入力した月別のデータがあります。
空欄のシートのどこかにコンボボックスを作り、別シートの○月のデータを貼り付けられるようにしたいと思っています。
コンボボックスの作り方がわからず、後一歩のところでつまずいてしまいました。
知恵をお貸しください。
よろしくお願いいたします。
お礼
回答ありがとうございます。 コントロールの書式設定で増減値だとかを簡単に設定できたのですね。