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

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

Excel(エクセル)活用コミュのコンボボックスを利用して複数のリストを作成したい

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして。

表題の件につきましてご教授お願い致します。

リストの文字サイズを大きくしたいことから、入力規則ではなく
コンボボックスを利用してリストを作成しています。

参照サイトURL
http://park11.wakwak.com/~miko/Excel_Note/10-02_control.htm#10-02-26

これを利用して、C列でリスト入力できるようにしました。


その後、列の挿入を行い、A列にあったリスト一覧はB列へ。
空白になったA列にI列に表示させるリスト一覧を作成しました。

【A列(I列のリスト)】
IM/S1/Bu/Bc/Br/Fr/SUC/CHO/空白/空白


【B列(C列のリスト)】
W-UP/PULL/KICK/DRILL/SWIM/M-T/DIVE/S-T/C-DOWN/LOOSEN/空白/空白

現在、I1のセルではリスト表示されるようになっているのですが、
これをI列全体に反映させることができないのです。


シートの表示から下記コードを入力すると、そこで指定した列全体に
反映するのですが、CもIも一緒にリスト入力できるようにしたいのです。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Column <> "3" Then

ComboBox1.Visible = False
Exit Sub
End If
With ActiveSheet.Shapes("ComboBox1")
.Visible = True
.IncrementTop Target.Top + Target.Height - .Top
.IncrementLeft Target.Left - .Left
.Select
Selection.LinkedCell = Target.Address
End With
Target.Select
End Sub


エクセル初心者のため、このトピがちゃんと伝わるものになっているのかも不安ですが、どなたか助けて下さい。

もし、情報不足であればご指摘ください。よろしくお願いいたします。

コメント(7)

>Rさん

わかりやすい解説付きの回答ありがとうございます。

意味はわかったのですが、どう追記したらいいのかが
わかりません。

I列のリスト作成の後、シートの表示で出てきた画面には、
C列のリスト作成後に入力した If Target.Column <> "3" Then  
の含まれるコードが表示されます。

そこに追記するのか?別で入力画面を出してから、
If Target.Column <> "3" Then  部分の数字を変えるのか?

コードを自分で入力する知識もないので、可能であれば、
入力の方法なども可能であれば教えていただけないでしょうか?

何度も申し訳ありませんがよろしくお願いいたします。
今回の場合、SelectionChangeイベントに追記しないと意味がないのでは?

>コードを自分で入力する知識もないので
まず、マクロの勉強をしたほうが良いと思いますが?
コードの意味がわかって使っていますか?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Column <> 3 Then
  ComboBox1.Visible = False
End If
If Target.Column <> 9 Then
  ComboBox2.Visible = False
End If
If Target.Column <> 3 And Target.Column <> 9 Then Exit Sub
If Target.Column = 3 Then
  C = "ComboBox1"
Else
  C = "ComboBox2"
End If
With ActiveSheet.Shapes(C)
   .Visible = True
   .IncrementTop Target.Top + Target.Height - .Top
   .IncrementLeft Target.Left - .Left
   .Select
   Selection.LinkedCell = Target.Address
End With
Target.Select
End Sub
>マリ男さん
ご丁寧に回答頂き、ありがとうございます。

早速試したところ、思ったようにリストがプルダウンできるように
なりました。

ホント自分で、もっと勉強する時間があればいいのですが
スミマセン。。。

正直コードのことは全くわかりません。
ただ、リストの文字を大きくしたいと検索したら
この方法を見つけたという感じで。

でも、今回のことでマクロのすごさを実感しました。
時間見つけて勉強してみたいと思います。

マリ男さん、本当に感謝しています。ありがとうございました。




>Rさん
ご丁寧に回答頂き、ありがとうございます。


早速、教えていただいたコードを貼り付けてみたところ
思ったように動作するようになりました。
本当に感謝、感激です。ありがとうございます。

コンボボックスは2つできていました。
ただ、2つ目のコンボボックスを実行すると、
最初に表示されていたA列のリスト一覧が見えなくなってしまっていたので。
それで、B列に移動させたような感じです。

いつも仕事ではすでに出来上がっているマクロを利用しているだけで、
今回初めて、コードなどの操作をしたのですが、すごいですね。
もっと、マクロについて勉強していきたいと思います。

本当にありがとうございました。
出来たようで良かったです
マクロの勉強頑張って下さい

今後もマクロを使う可能性を考えたとき
やはり、基本的に自分で組んだマクロはどのような作業をしているのか
各コードはどのような役割を果たしているのかなど
コードを理解していない限り、実用しないほうが私は無難だと思っています

分からない部分のあるマクロは、不具合、エラーやフォーム改変のとき
など後々困る要因になりかねませんし
見た目ではあっているようでも、正確に処理しているのか不明な場合もありますから

そのためには、ネットや本でマクロを勉強し
分からないものがあれば、それを調べ、理解する
これが基本だと私は思います

また、すでに出来上がっているものがあるのであれば、それを覗いてみて
どうなっているのかなど、調べてみるのも勉強になると思います

なんか長くなってすみません
頑張って下さい

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

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

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

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