ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

EXCEL VBAコミュのシートの操作、セルの操作をユーザーフォームで行う

  • mixiチェック
  • このエントリーをはてなブックマークに追加
力を貸してください!
現在ユーザーフォームでこのようなものを作っています。

?リストボックス1で「月」を選択
?リストボックス2で「日」を選択
?コンボボックスで選択されている「種別」を??で選択されたセルに「種別」を代入

?はすでに完成し、以下のコードです。
Private Sub Listbox1_Click()
Dim listbox As Integer
Listpos = UserForm1.ListBox1.ListIndex
Select Case Listpos
Case 0
sheetname = "1月"
Case 1
sheetname = "2月"
Case 2
sheetname = "3月"
Case 3
sheetname = "4月"
Case 4
sheetname = "5月"
Case 5
sheetname = "6月"
Case 6
sheetname = "7月"
   ・
   ・
   ・
End Select
Worksheets(sheetname).Activate
End Sub


?、?はどのようにするとよいでしょうか??

コメント(1)

すみません結局何がしたいのかよくわかりません。

>?コンボボックスで選択されている「種別」を??で選択されたセルに「種別」を代入
こうありますが、?でも?でも特にセルを指定する説明文が無く、どのようなフォーマットのブックに対しての操作なのかがわからないです。

ユーザーフォームの大体のイメージは掴めても反映先のブックがどうなってるのかがわからない。

この説明文だと、回答者に「意味がわからんからもういいや」と思われても仕方のない記述になってます。



想像の範疇であれば、?に対する各月のシートがあって、それぞれのシートに?に対するRowかColumnがあり、Offset+1の位置に?の内容を反映したいのだと読み取れました。


また、?のコードももっと簡略化できますよ。

Worksheets(StrConv(UserForm1.ListBox1.ListIndex, vbWide) & "月").Activate

この一行だけで出来るはずです。


それと、必要のないActive(Activate)やSelectは記述しない方がコード的には良いです。



そも、ListBox1のイベントとして記述するのではなくComboBox1側または反映用のCommandButton1を作成し、そこで?と?、?の内容を一緒くたに纏めてしまった方がいいです。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

EXCEL VBA 更新情報

EXCEL VBAのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。