新規記事の投稿を行うことで、非表示にすることが可能です。
2017年07月27日
ExcelVBAコンボボックス
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
コンボボックスのプロパティ
また「ColumuCount」=「2」をVBAでも指定できます。
ComboBox1.ColumnCount = 2という記述をすればプロパティの指定が出来ます。
やってみましょう。
前回コンボボックスのプロパティで「ColumuCount」を「2」にしましたが、「1」に戻しましょう。
Private Sub UserForm_Initialize()
ComboBox1.ColumnCount = 2
ComboBox1.AddItem
ComboBox1.List(0, 0) = "国語"
ComboBox1.List(0, 1) = 80
ComboBox1.AddItem
ComboBox1.List(1, 0) = "社会"
ComboBox1.List(1, 1) = 60
ComboBox1.AddItem
ComboBox1.List(2, 0) = "英語"
ComboBox1.List(2, 1) = 50
ComboBox1.AddItem
ComboBox1.List(3, 0) = "数学"
ComboBox1.List(3, 1) = 90
End Sub
最初にComboBox1.ColumnCount = 2という記述を追記しました。
これで通常表示にすると先ほどと同じ表示になったと思います。
次は変数を使用する方法です。
Private Sub UserForm_Initialize()
Dim hairetu(4, 2)
ComboBox1.ColumnCount = 2
hairetu(0, 0) = "国語"
hairetu(0, 1) = 80
hairetu(1, 0) = "社会"
hairetu(1, 1) = 60
hairetu(2, 0) = "英語"
hairetu(2, 1) = 50
hairetu(3, 0) = "数学"
hairetu(3, 1) = 90
ComboBox1.List() = hairetu
End Sub
上記になります。
hairetuという変数を使用して、変数内に配列を作成し、
最後にコンボボックスのリストとして変数を代入するという方法です。
このように色々な方法でリストに登録することができます。
様々な場面で一番いい方法を使用すれば良いと思います。
ExcelVBAコンボボックス
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
コンボボックスのプロパティ
また「ColumuCount」=「2」をVBAでも指定できます。
ComboBox1.ColumnCount = 2という記述をすればプロパティの指定が出来ます。
やってみましょう。
前回コンボボックスのプロパティで「ColumuCount」を「2」にしましたが、「1」に戻しましょう。
Private Sub UserForm_Initialize()
ComboBox1.ColumnCount = 2
ComboBox1.AddItem
ComboBox1.List(0, 0) = "国語"
ComboBox1.List(0, 1) = 80
ComboBox1.AddItem
ComboBox1.List(1, 0) = "社会"
ComboBox1.List(1, 1) = 60
ComboBox1.AddItem
ComboBox1.List(2, 0) = "英語"
ComboBox1.List(2, 1) = 50
ComboBox1.AddItem
ComboBox1.List(3, 0) = "数学"
ComboBox1.List(3, 1) = 90
End Sub
最初にComboBox1.ColumnCount = 2という記述を追記しました。
これで通常表示にすると先ほどと同じ表示になったと思います。
次は変数を使用する方法です。
Private Sub UserForm_Initialize()
Dim hairetu(4, 2)
ComboBox1.ColumnCount = 2
hairetu(0, 0) = "国語"
hairetu(0, 1) = 80
hairetu(1, 0) = "社会"
hairetu(1, 1) = 60
hairetu(2, 0) = "英語"
hairetu(2, 1) = 50
hairetu(3, 0) = "数学"
hairetu(3, 1) = 90
ComboBox1.List() = hairetu
End Sub
上記になります。
hairetuという変数を使用して、変数内に配列を作成し、
最後にコンボボックスのリストとして変数を代入するという方法です。
このように色々な方法でリストに登録することができます。
様々な場面で一番いい方法を使用すれば良いと思います。
2017年07月23日
ExcelVBAコンボボックスで配列を使用する
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
コンボボックスで配列を使用する
次はリストを使用するのではなく、配列を使用してみましょう。
Private Sub UserForm_Initialize()
ComboBox1.AddItem
ComboBox1.List(0, 0) = "国語"
ComboBox1.List(0, 1) = 80
End Sub
先ほどの「ColumuCount」を「2」はそのままにしておきます。
そのうえで上記のような記述をおこないます。
結果は
上記のように「国語」「80」で表示されましたね。
これは1行だけなので、複数行を入れてみましょう。
Private Sub UserForm_Initialize()
ComboBox1.AddItem
ComboBox1.List(0, 0) = "国語"
ComboBox1.List(0, 1) = 80
ComboBox1.AddItem
ComboBox1.List(1, 0) = "社会"
ComboBox1.List(1, 1) = 60
ComboBox1.AddItem
ComboBox1.List(2, 0) = "英語"
ComboBox1.List(2, 1) = 50
ComboBox1.AddItem
ComboBox1.List(3, 0) = "数学"
ComboBox1.List(3, 1) = 90
End Sub
上記のように4項目を入れました。
List(1,0)とか表示されているところが配列部分になります。
これを通常表示にすると
上記のように4列表示になります。
WordPress・MTOS簡単インストール機能対応!レンタルサーバー『ヘテムル』
まずは15日間【無料】お試し利用から!大容量256GBレンタルサーバー『HETEML』
2017年07月20日
ExcelVBAコンボボックス2列表示
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
コンボボックスに複数列の表示
これもやり方は色々あります。
色々やってみましょう。
最も簡単な方法として、まず、ユーザーフォームのプロパティを開き
下の赤枠部分「ColumuCount」を「2」にします。
ここが列数のプロパティです。
それから2列表示になるので、コンボボックスの幅を広げましょう。
上のように横幅を広げました。
Private Sub UserForm_Initialize()
Dim data As Variant
data = Sheets("sheet4").Range("F2:G17")
ComboBox1.List = data
End Sub
前回記述したプログラクを上記のように変更しました。
data = Sheets("sheet4").Range("F2:G17")
この部分です。
先ほどはRange("F2:F17")でした。
G7にすることで2列選択になりましたね。
この状態で通常表示にしてみましょう。
上記のようにコンボボックスに2列が表示されました。
━━━━━━━━━━━━━━━━━━━━━━━━━
■ 約200万サイトが使っているA8.net
━━━━━━━━━━━━━━━━━━━━━━━━━
・HPやBLOGに広告を掲載して副収入を得ませんか?
・無料で始められて1000円以上でお振込み。
・いま多くの方に利用されているエーハチネットは
PCとスマートフォンからご利用いただけます。
▼詳細はこちら
https://px.a8.net/svt/ejp?a8mat=2TAC5M+14HJGI+1N3S+6AANBN
━━━━━━━━━━━━━━━━━━━━━━━━━
2017年07月16日
ExcelVBA入門,コンボボックス
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
コンボボックス
今度はここで選択したリストをどこかに表示させましょう。
今回はコンボボックスをダブルクリックまたは右クリックの
「コードの表示」から表示される、コンボボックスの
プログラム記述場所に記述していきます。
Private Sub ComboBox1_Change()
Sheets("sheet4").Range("d1").Value = ComboBox1.ListIndex
End Sub
簡単な内容ですね。
シート4のd1セルにコンボボックスで選択された値を表示せよという命令文です。
上記のようにd1には「1」が表示され、E1に「海CO」と表示されています。
これもリストボックスの時と同じで何番目かという事を表示します。
あとはOFFSETで具体的に表示させています。
なんとなく使えそうな雰囲気になってきましたか。
Excelの大きな表などにデータ入力していく際に、
左右のスクロールが大変だった場合などは、
このようにユーザーフォームを作って入力していくという方法も考えられます。
しかし、少し前にやりました、下の「フォーム」を使えば簡単なんですが・・・。
2017年07月12日
ExcelVBAコンボボックス
初期費用0円!格安スマホ【UQmobile】
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
コンボボックス
通常は前回のような使用法ではありませんね。
コンボボックスにリストを記録してそこの中から何かを選択して、
どこかに表示させるというのが一般的です。
やってみましょう。
Private Sub CommandButton2_Click()
Dim data As Variant
data = Sheets("sheet4").Range("F2:F17")
ComboBox1.List = data
End Sub
上記は最も簡単にシート4にある相手先リストをdataという変数にして、
コンボボックスのリストに追加したという方法です。
今回は「リスト追加」というボタンを押すことにより、シートのリストが追加されたという事です。
ただしこの方法も、ユーザーフォームを一度閉じると元に戻ってしまいます。
「リスト追加」ボタンを押すことなく、最初からリストを表示したいですよね。
上記赤枠部分の左側を「UserForm」とし、右側を「Initialize」にします。
これはどういうことかと言うと、ユーザーフォームを開いたときの初期状態
という意味です。
開いたときにコンボボックスにリストを登録します。
Private Sub UserForm_Initialize()
Dim data As Variant
data = Sheets("sheet4").Range("F2:F17")
ComboBox1.List = data
End Sub
上記のように、1行目の「Private Sub UserForm_Initialize()」が変わっているだけで、
後の内容は同じです。
上記のようにユーザーフォームを開いた段階でコンボボックスにリストを追加しています。
┏━[PR]━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
WordPressに特化したレンタルサーバー『wpXレンタルサーバー』
─────────────────────────────────
・最新の高性能サーバーマシン&高速ネットワーク
・大容量30GB、月額1,000円(税抜)〜
・リバースプロキシによるキャッシュなど、専用の高速システムを採用
・専用の管理ツールから簡単セットアップ
・過去14日間のデータの自動バックアップ機能
・独自ドメイン対応 & 1契約につき10個のWordPress運用が可能
─────────────────────────────────
https://px.a8.net/svt/ejp?a8mat=2NR2G3+DDNP6A+CO4+ZR2VN
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
2017年07月10日
ExcelVBAコンボボックスの使用方法
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
コンボボックスの使用方法
フォーム上にコンボボックスを作成してみましょう。
上記のようにコンボボックスを作成してください。
このように「コンボボックス」が作成されました。
このコンボボックスにデータを追加してみましょう。
上記のようにコンボボックスの下に「リスト追加」というボタンを作成しました。
ここにコードを書いて行きます。
Private Sub CommandButton2_Click()
With ComboBox1
If .Text <> "" Then
.AddItem .Text
End If
End With
End Sub
上記のコードの意味ですが、コンボボックス1について、
テキストに何か記載されていればその内容をリストに追加せよ。
という意味です。
具体的にコンボボックスのテキスト部分に「第一」と入力して
「リスト追加」ボタンを押します。
次に「第二」と入力して「リスト追加」ボタンを押します。
そして、コンボボックスの▼ボタンを押すと下のようになります。
リストに「第一」と「第二」が表示されましたね。
しかしこのリストは一度ユーザーフォームを閉じれば消去されます。
その時だけ使用するのであればこれでもOKです。
2017年07月07日
ExcelVBAリストボックスの値の取得
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
リストボックスで選択された値の取得について
今まではリストボックスにデータを登録する方法について記述してきました。
次はそのリストボックスに表示されたデータの中から何かを選択した場合、
選択されたデータを取得する方法について考えて行きましょう。
最も簡単な方法として、リストボックスにデータ(リスト)が表示され、
どれかを選択した際にメッセージボックスが表示されるようにしてみましょう。
Private Sub ListBox1_Click()
MsgBox ListBox1.Text
End Sub
上記はリストボックスがクリックされた場合のプログラムです。
上のようにリストの中から「シンドロー」をクリックした際にメッセージボックスが
表示され「シンドロー」が表示されました。
別の方法として
Private Sub ListBox1_Click()
MsgBox ListBox1.List(ListBox1.ListIndex)
End Sub
また上記の内容でも同じ動作が実現できます。
リストボックスで選択されているデータはListBoxのTextプロパティまたはListIndexプロパティで取得できます。
少し複雑なことをしてみましょう。
Private Sub ListBox1_Click()
Sheets("sheet4").Range("A1").Value = ListBox1.ListIndex
End Sub
上記のように記述し、シートのA1にリストボックスの値が表示されるようにしました。
上記のようにA1には「3」が入っています。
これはリストの何番目かという表示です。
そしてこれは「0」からスタートするのでA3の「3」は4番目という事になります。
それからB1に「=OFFSET(F2,A1,0,1,1)」と入っています。
そのためにB1にリストボックスで選択された会社名が表示されています。
2017年07月04日
ExcelVBA入門リストボックス
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
エクセル上にリストがあってそこから読み出す場合の方法
Excel上に上のようなリストがあったとします。
Private Sub CommandButton2_Click()
ListBox1.List = Range("F2:G17").Value
End Sub
上記のように範囲を指定(Range("F2:G17"))することも可能です。
これを実行すると下のようになります。
またこのような記述も可能です。
Private Sub CommandButton2_Click()
Dim i As Long
With ListBox1
For i = 2 To 17
.AddItem
.List(.ListCount - 1, 0) = Cells(i, 6)
.List(.ListCount - 1, 1) = Cells(i, 7)
Next i
End With
End Sub
上記はFor〜Nextを使用して、2行目から17行目までをリストにしています。
これも同じ結果が得られます。
また、将来的にリストに追記される場合も加味して考えてみましょう。
Private Sub CommandButton2_Click()
Dim i As Long
For i = 2 To Cells(Rows.Count, 6).End(xlUp).Row
ListBox1.AddItem Cells(i, 6)
Next i
End Sub
上記のように記述します。
結果は上のようになります。
少しVBAの記述について説明しましょう。
「Cells(Rows.Count, 6).End(xlUp).Row」ここが分かりにくいですね。
ここで最終行の取得を行っています。
通常データはドンドン縦(行)に増えていく傾向にあります。
そのような時、リスト範囲を限定出来ない時があります。
そのために最終行の取得を行う必要があります。
「6」というのは、現在リストがF列にあるのでアルファベットで
6番目なので「6」になっています。
Rows.Countですが、一旦一番下のセルに移動するという意味です。
「Ctrl」+「↓」で一番下まで行きますね。Excel2010なので「1048576行」に移動します。
次にEnd(xlUp)ですが、これは「Ctrl」+「↑」になり、一番下の行から上に向かって
移動します。
今回の場合データ範囲はF2〜F17なので17行目まで移動します。
これでForの繰り返しが2〜17になりますね。
また別の方法として下記のような記述も出来ます。
Private Sub CommandButton2_Click()
ListBox1.List = Range(Range("f2"), Cells(Rows.Count, 6).End(xlUp)).Value
End Sub
2017年07月02日
Excelフォームリストボックス
┏━[PR]━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
WordPressに特化したレンタルサーバー『wpXレンタルサーバー』
─────────────────────────────────
・最新の高性能サーバーマシン&高速ネットワーク
・大容量30GB、月額1,000円(税抜)〜
・リバースプロキシによるキャッシュなど、専用の高速システムを採用
・専用の管理ツールから簡単セットアップ
・過去14日間のデータの自動バックアップ機能
・独自ドメイン対応 & 1契約につき10個のWordPress運用が可能
─────────────────────────────────
https://px.a8.net/svt/ejp?a8mat=2NR2G3+DDNP6A+CO4+ZR2VN
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
リストボックスに複数列を表示する場合。
初めにフォームでリストボックスのプロパティを開き、
「ColumnCount」を「2」にします。
これで2列表示になります。
Private Sub CommandButton2_Click()
ListBox1.AddItem ""
ListBox1.List(0, 0) = "テスト1"
ListBox1.List(0, 1) = 100
End Sub
上記のように「テスト1」 「100」と2列が表示されました。
A8.netなら!
------------------------------------------------
◇スマートフォンやPCから簡単に広告が掲載可能
◇もちろん会員登録は無料。その後も費用はかかりません!
◇欲しい商品がお得に購入できるセルフバックの利用ができる
◇有名ブランドから高額報酬がもらえる広告を掲載
-----------------------------------------------
アフィリエイトを始めるならA8.net(エーハチネット)
まずは登録→ https://px.a8.net/svt/ejp?a8mat=2NQXR8+BN56NM+0K+10EVCZ
WordPressに特化したレンタルサーバー『wpXレンタルサーバー』
─────────────────────────────────
・最新の高性能サーバーマシン&高速ネットワーク
・大容量30GB、月額1,000円(税抜)〜
・リバースプロキシによるキャッシュなど、専用の高速システムを採用
・専用の管理ツールから簡単セットアップ
・過去14日間のデータの自動バックアップ機能
・独自ドメイン対応 & 1契約につき10個のWordPress運用が可能
─────────────────────────────────
https://px.a8.net/svt/ejp?a8mat=2NR2G3+DDNP6A+CO4+ZR2VN
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
マイクロソフトアクセスの記事はこちら
人気ブログランキングへ
にほんブログ村
リストボックスに複数列を表示する場合。
初めにフォームでリストボックスのプロパティを開き、
「ColumnCount」を「2」にします。
これで2列表示になります。
Private Sub CommandButton2_Click()
ListBox1.AddItem ""
ListBox1.List(0, 0) = "テスト1"
ListBox1.List(0, 1) = 100
End Sub
上記のように「テスト1」 「100」と2列が表示されました。
A8.netなら!
------------------------------------------------
◇スマートフォンやPCから簡単に広告が掲載可能
◇もちろん会員登録は無料。その後も費用はかかりません!
◇欲しい商品がお得に購入できるセルフバックの利用ができる
◇有名ブランドから高額報酬がもらえる広告を掲載
-----------------------------------------------
アフィリエイトを始めるならA8.net(エーハチネット)
まずは登録→ https://px.a8.net/svt/ejp?a8mat=2NQXR8+BN56NM+0K+10EVCZ