-PR-
解決済み

エクセルVBAで、配列に値を代入する方法

  • すぐに回答を!
  • 質問No.6841
  • 閲覧数698
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 50% (2/4)

今、エクセルでデータベース関係のマクロを組んでるんですが、うまくデータの代入ができなくて困ってます。
詳しくは、フォームにあるコンボボックスの選択肢が何か選択されている時は、特定のセルに”○”が入るようにしたいんですが、コンボボックスが複数あるので、配列にして1度に代入したいと考えてるんですが、何かよい方法はありませんか?
それともただ文法がおかしいだけでしょうか?できたら、データを代入する所だけでいいのでコードを書いていただけませんか?
よろしくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル14

ベストアンサー率 36% (1782/4883)

どこで止まるのかも分からないとなると
基本的なところが分かってないんでしょうねぇ。
そのレベルから始めるのであれば、
私がいい加減につくったものよりも
参考書できちんと勉強した方がよいのではと
思ったりもしますが。
まぁ一応送っときます。
お礼コメント
takki

お礼率 50% (2/4)

大変、いいものを作ってもらってありがとうございました。これからはもっとしっかり勉強しようと思います。
今回は、無謀で急ぎの仕事だったので、勉強よりも人を頼りにしました。

これからも…と言うと嫌かもしれませんが、よろしくお願いします。

最後に、大変ありがとうございました。
投稿日時 - 0000-00-00 00:00:00
関連するQ&A
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル14

ベストアンサー率 36% (1782/4883)

コンボボックスを配列化するということで 見本です。 Dim mycmbbox As New Collection With mytxtbox .Add Item:=Combobox1 .Add Item:=Combobox2 .Add Item:=Combobox3 .Add Item:=Combobox4 End With これでmycmbboxで配列にまとめたことになります。 ...続きを読む
コンボボックスを配列化するということで
見本です。
Dim mycmbbox As New Collection
With mytxtbox
.Add Item:=Combobox1
.Add Item:=Combobox2
.Add Item:=Combobox3
.Add Item:=Combobox4
End With

これでmycmbboxで配列にまとめたことになります。

これでご希望の操作をするなら
for x = 1 to 4
 if mycmbbox(x).listindex<>-1 then
  Cells(x,1)="○"
 end if
next x
こんな感じで。

チェックしてないので動くかどうかわかりません(笑)

では
補足コメント
takki

お礼率 50% (2/4)

ご回答どうもありがとうございました。
しかし、どうもうまく動いてくれません。
どうしたもんでしょうか?
フォームとかの設定が悪いんでしょうか?
私は、配列についてもっとしっかり勉強すべきですかね?

違うかもしれませんが、
括弧でくくってない配列をくくってある配列として代入しようとしていませんか?
自分でも何が言いたいのか良くわからないです。
すみません。
投稿日時 - 2000-08-23 20:44:49


  • 回答No.2
レベル14

ベストアンサー率 36% (1782/4883)

んー 改良版です。 Sub test() Dim mycmbbox As New Collection Dim X As Integer With mycmbbox .Add Item:=ComboBox1 .Add Item:=ComboBox2 .Add Item:=ComboBox3 .Add Item:=ComboBox4 End With For X = 1 T ...続きを読む
んー
改良版です。

Sub test()
Dim mycmbbox As New Collection
Dim X As Integer
With mycmbbox
.Add Item:=ComboBox1
.Add Item:=ComboBox2
.Add Item:=ComboBox3
.Add Item:=ComboBox4
End With
For X = 1 To 4
If mycmbbox(X).ListIndex <> -1 Then
Cells(X, 1) = "○"
End If
Next X
End Sub

どこが違うかというと
With mytxtbox が With mycmbbox
になってます(笑)
スペルミスでした。
まぁさすがにこれは修正されたと思いますが。
これで試したところちゃんと動きましたが。
はて。どこで止まったのでしょう。
補足コメント
takki

お礼率 50% (2/4)

確かに、そのことには気付いたんですが…。
基本的な何かがじぶんには判ってないんだと思うんですが。もし良かったら添付で送ってもらえませんか…

takki55@hamal.freemail.ne.jp

3度もお手数をお掛けしてすみません。
フリーメールに添付できるのかもちょっと定かではありませんし…。
ほんとにすみません。
投稿日時 - 2000-08-23 23:00:05
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ