ExcelVBAでリストボックスの列に項目名称をつけたいのですが、どうすればよいでしょうか?
ちなみにリストの値は別ファイルかVBAにくみこみたいと思っています。
また、同じくリストボックスでホイール(マウス)によるスクロールは行えないのでしょうか?方法があれば教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

リストボックスではなくGrid系のコントロールを使えば


質問は両方ともOK

この回答への補足

すみません。Grid系ってどんなものでしょうか?

補足日時:2001/09/06 16:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q百田尚樹さんの殉愛ってどういう内容の本なんですか?

百田尚樹さんの殉愛ってどういう内容の本なんですか?

百田尚樹さんはやしきたかじんさんが死ぬまで病院にいたのですか?これは事実?それとも架空の想像小説?

百田尚樹さんの密着ドキュメンタリー?

Aベストアンサー

やしきたかじんさんの妻さくらさんからたかじんさんの死去後にたかじんさんが書いたとされるノートが提供され、これを元に関係者に取材して書き上げたノンフィクション、ということになっています。
百田尚樹さんとたかじんさんは生前はほとんど面識がなかったとのことです。

QExcelVBAでユーザーフォーム内のリストボックスの設定について

 教えてください、ExcelVBAでユーザーフォーム内にリストボックスを作りました。
複数列・複数行のワークシートデータを参照する設定です。
 列は12列で、一番左の列に番号をふってあります。
 行は31行で、一行目がタイトル表示してあります。

 質問なのですが、このリストボックスは全列・全行表示する大きさでユーザーフォーム内に作成してあるのですが、いざマクロを動かすと幅は問題ないんですが、高さが縮んで自動的にスクロールが表示されます。
 ユーザーフォームを大きくしてリストボックスも大きくしてやっても同じです。

このリストボックスの高さを固定させる設定はどうすれば良いでしょうか。

Aベストアンサー

ユーザフォームをロードするときにでもリストボックスのプロパティを設定してはどうですか?
つぎの例は高さこそ指定していませんが・・・こんな感じでhighを設定すればなんとかなるのではないでしょうか。

With ctrl
 .Clear
 .ListRows = 10
 .ColumnCount = 2
 .ColumnWidths = "20 pt;120 pt"
 .ListWidth = "140 pt"
End With

Q百田尚樹さんについて

百田尚樹さんはいろいろなジャンルの小説を書いていると聞きました
純文学の小説は書いてますか?

Aベストアンサー

純文学の定義はどんなものでしょうか?
文章で表現し、文章で読む人の感情を左右するのが文学であると
私は考えています。
文学には純文学、大衆文学という指向性はあるのでしょうが、明確な
線引きはないと思います。

百田尚樹さんの文章は全てが純文学に分類されてもいいし、大衆文学に
分類されてもいいものだと思います。

私は百田尚樹さんがラブアタックという番組に出ていたのをよく覚えています。
かぐや姫の前に5人の男性が争って告白をするというものでした。
体力、知力に優れる百田君は周囲のアタッカーに打ち勝ち、いつも最終的に
かぐや姫に告白する権利を得ていました。
しかし、若年より頭髪の薄かった百田君は、男性を容姿でしか判定しない
バカなかぐや姫にいつも拒絶されていました。

QExcelVBA リストボックスの複数選択処理がうまくいきません

こんばんは、助けてください。
EXCEL2007です。

ユーザーフォームにリストボックス(Listbox1)を複数選択可能で作成。
リストボックス各行の4列目には「A」か「B」のいずれかが入っており、選択した行の4列目が「A」ならば「B」を、
「B」ならば「A」をCommandButton1押下でセルに反映させたいのですが、うまくいきません。

[反映先のセル]
・リストボックス1行目⇒セルC4(列番号3)
・リストボックス2行目⇒セルG4(列番号7)
・リストボックス3行目⇒セルK4(列番号11)
・リストボックス4行目⇒セルO4(列番号15)
・リストボックス5行目⇒セルS4(列番号19)
・以降同規則でつづく

[コード]
01 Private Sub CommandButton1_Click()
02   Dim ListRow As Integer
03   Dim Retsu As Integer
04
05   For ListRow = 0 To Listbox1.ListCount - 1
06     If Listbox1.Selected(ListRow) Then
07       Retsu = (ListRow + 1) * 3 + ListRow
08       If Listbox1.List(ListRow, 3) = "A" Then
09         Cells(4, Retsu).Value = "B"
10       Else
11         Cells(4, Retsu).Value = "A"
12       End If
13    End If
14  Next ListRow
15 End Sub

[現象]
1.単一選択時は、OK。
2.複数選択時は、選択した行のうち一番はじめの行のみOK。
3.試しに、EndSub直前でListbox1.Selected(各ListRow)を検証すると、すべてFalseになってしまっている。
4.IF文(07~12行目)を削除した上で、EndSub直前でListbox1.Selected(各ListRow)を検証すると、True/Falseは意図通りになっている。

IF文(07~12行目)が悪さをしているのでしょうか?
うまいやり方をご教授いただければ、幸いです。m(_ _)m

こんばんは、助けてください。
EXCEL2007です。

ユーザーフォームにリストボックス(Listbox1)を複数選択可能で作成。
リストボックス各行の4列目には「A」か「B」のいずれかが入っており、選択した行の4列目が「A」ならば「B」を、
「B」ならば「A」をCommandButton1押下でセルに反映させたいのですが、うまくいきません。

[反映先のセル]
・リストボックス1行目⇒セルC4(列番号3)
・リストボックス2行目⇒セルG4(列番号7)
・リストボックス3行目⇒セルK4(列番号11)
・リストボックス4行目⇒セルO4...続きを読む

Aベストアンサー

リストボックスへのアイテムの追加をどのようになさっているのでしょう

私は簡易的に 4列8行程度の仮のデータテーブルシートに作って
その領域をRowSourceに設定して実行しております

バラバラのセルから1行のの項目を構築する場合

ListBox1.AddItem
ListBox1.Item( n, 0 ) = Cells( r1, c1 )
ListBox1.Item( n, 1 ) = Cells( r2, c2 )
ListBox1.Item( n, 2 ) = Cells( r3, c3 )
ListBox1.Item( n, 3 ) = Cells( r4, c4 )
といった具合にしませんか?

この手法なら セルに書かれている左右はされないはずですが ・・・

Q百田尚樹さんの小説について

百田尚樹さんの小説で一人称の小説はありますか?

Aベストアンサー

「風の中のマリア」(講談社文庫)は一人称です。

QExcelVBA:コンボボックスのリストを手動で変更できなくする方法

ExcelVBAで、コンボボックスに選択する項目、リストが表示されますが、これをキーボードなどで入力できないようにする方法を教えてください。
EnabledやLockedプロパティを使っても選択自体できなくなってしまうので何か方法はありませんか?

回答よろしく願いします。

Aベストアンサー

ComboBoxのキープレスイベントで
KeyAscii = 0
にしてしまえば入力を受け付けません。ただしメッセージか何か表示
しないとユーザーは???と思ってしまいます。
もしくは、MatchEntryプロパティにCompleteを設定すれば
リスト外の値を入力できなくなります。

Q百田尚樹さんの小説について

百田尚樹さんの小説はどのジャンルになりますか?
エンタメ
大衆
文学

Aベストアンサー

自称はエンタメ作家なのですが、本人いわく「二度と同じジャンルの作品は書かない!」と言っている通り、戦争・恋愛・昆虫物・ボクシングなどなど幅広いジャンルの作品を排出しています。

よって、あえてジャンルを設けるのであれば「エンタメ・その他」になるでしょう。

Qリストボックスに縦スクロールバーと選択

VB初心者です。よろしくお願いします。ちょっと教えて頂きたいのですが、リストをコントロール配列にして例えばList(1)の何行目かをクリック(選択)したらList(0)とList(2)の同じ行に選択状態をうつしたいのですがどうやったらいいのでしょうか?それから縦スクロールバー(VScroll)とリストの配列をどうして連結したらいいのかわかりません。スクロールしたらリストが最後の行までうごいてくれるには?ご教授頂けないでしょうか?ちなみにListのなかには500行ぐらいあります。
List(0) List(1)  List(2) 縦スクロールバー
------------------------------    
xxxxxx xxxxxxxx  xxxxxxx       
xxxxxx xxxxxxxx  xxxxxxx       
-----------------------------   

どうか、よろしくお願いします。

Aベストアンサー

VBのバージョンやエディションなどを明記しましょう

VB6などなら
ListBoxのClickイベントで処理します
Private Sub List_Click(Index as Integer)
  ' 再帰防止用フラグ
  Static sFlag = Boolean
  if sFlag then exit Sub
  sFlag = True
  dim n as Integer
  n = List( index ).ListIndex
  Select case Index
  case 0
    list(1).ListIndex = n
    list(2).ListIndex = n
  case 1
    list(0).ListIndex = n
    list(2).ListIndex = n
  case 2
    list(0).ListIndex = n
    list(1).ListIndex = n
  end select
  sFlag = False
End Sub

VScrollとの連動は Scrollイベントで
Private Sub VScroll1_Scroll()
  dim vIndex as Integer
  vIndex = VScroll1.Value
  List(0).TopIndex = vIndex
  List(1).TopIndex = vIndex
  List(2).TopIndex = vIndex
End Sub

FormのLoadイベントで
Private Sub Form_Load()
  VScroll1.max = List(0).ListCount - 1
End Sub
といった具合です
すべてのリストボックスの項目数が一致しているならばですが

VBのバージョンやエディションなどを明記しましょう

VB6などなら
ListBoxのClickイベントで処理します
Private Sub List_Click(Index as Integer)
  ' 再帰防止用フラグ
  Static sFlag = Boolean
  if sFlag then exit Sub
  sFlag = True
  dim n as Integer
  n = List( index ).ListIndex
  Select case Index
  case 0
    list(1).ListIndex = n
    list(2).ListIndex = n
  case 1
    list(0).ListIndex = n
    list(2).ListIndex = n
  case 2...続きを読む

QNHK経営委員の百田尚樹はサイコパスですか?

他人を平気で人間のクズと罵り、NHKの経営委員に居座る百田尚樹は、サイコパスとか反社会性パーソナリティー障害という病なんでしょうか?

以下、サイコパスの定義。
・良心の異常な欠如
・他者に対する冷淡さや共感のなさ
・慢性的に平然と嘘をつく
・行動に対する責任が全く取れない
・罪悪感が全く無い
・過大な自尊心で自己中心的
・口の達者さと表面的な魅力

Aベストアンサー

まぁ、さすがにサイコパス程では無いかも知れませんが
あの人、若い頃、『ラブアタック!』でみじめアタッカーの常連だったそうですから
コンプレックスをバネに頑張って成功を収めた者にありがちな
傲慢さはあるかも知れませんね。
そう言えば、ヒットラーも若い頃、売れない画家だったでしょう。
そのパターンじゃないですか。
となると、末路は見えてますね。

QVBAのリストボックスで、横スクロールバーを表示するには?

お世話になります。
今、Excel_VBAで、あるデータをリスト表示にしているのですが、ながいデータになりますので水平スクロールバーをつけたいと思います。
標準のプロパティにはないので、"SendMessage"APIを使用し、コーティングをしているのですがうまくいきません。

[標準モジュール]
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA"(ByVal hwnd As Long, ByVal wMsg As Long,ByVal wParam As Long, lParam As Long) As Long

[フォーム/ボタンクリックイベント]
Private Sub Form_Load()
List1.AddItem "あああああああああああ"
List1.AddItem "いいいいいいいいいいい"
List1.AddItem "ううううううううううう"

lRtn = SendMessage(List1.hwnd,LB_SETHORIZONTALEXTENT, 240, 0)
            
End Sub

以上を実行すると、上記の"List1.hwnd"のhwndの部分で
エラーになってしまいます。

エラー内容は、「メソッドまたはデータメンバがみつかりません」です。
宜しくお願い致します。

お世話になります。
今、Excel_VBAで、あるデータをリスト表示にしているのですが、ながいデータになりますので水平スクロールバーをつけたいと思います。
標準のプロパティにはないので、"SendMessage"APIを使用し、コーティングをしているのですがうまくいきません。

[標準モジュール]
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA"(ByVal hwnd As Long, ByVal wMsg As Long,ByVal wParam As Long, lParam As Long) As Long

[フォーム/ボタンクリックイベント]
Private Sub...続きを読む

Aベストアンサー

回答ではないのですが。
VBAのリストボックスはハンドルを持たないので、List1.hWndと書いてもエラーになります。
参考にされたコードはVB6.0のものと思います。
VB6のリストボックスならばハンドルが取れるので、使えるのです。

私もVBAで横スクロールバーを出したいなっと思ったのですがなかなか面倒・・・というかやりかたを見つけ出せず、私の場合リストボックスは使わずにリストビューを使うのが通常になっています。
もし可能ならば、その線もご検討なさってはいかがでしょうか?
リストビューなら縦横自由にスクロールバーは出せるし、列の幅をユーザーが自由に動かせます。
スクロールするときにマウスホイールにも反応します。
回答でなくてすみません。


人気Q&Aランキング

おすすめ情報