• ベストアンサー

コンボボックスに行、列の名称の表示って出来る?

エクセルで、任意のセルを選択して、データの並び替えを選択すると選択範囲の行の名前(例:行6、行7、行8)や、列の名前(列C,列D,列E)と表示されますが、自分で作ったコンボボックスに同じ形式で表示することって出来ますか?行については、Rowsで範囲を範囲を抽出すれば出来そうですが、列をどのように実現すればいいのか?って悩んでいます。 力技で、手動でC,D,Eとカウントアップしていけば出来そうですが、芸が無いような気もします。どなたか?ヒント頂けないでしょうか?

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 #1 さんの >2、Chr関数を使って、アルファベットに変換。 >でできそうな気がしますが、AA列以降のことも考えるとめんどくさそう。 i = 1~256 ret = Replace(Chr(Int(i / 27) + 64) & Chr((i - 1) Mod 26 + 65), "@", "") Sub ComboBoxListing() Dim r As Range Dim i As Integer Set r = Range("B1:E20") ''空でない場合は以下を入れる 'ComboBox1.ListFillRange = "" 'ComboBox1.Clear For i = r.Column To r.Column + r.Columns.Count -1   ComboBox1.AddItem _    Replace(Chr(Int(i / 27) + 64) & Chr((i - 1) Mod 26 + 65), "@", "") & "列" Next i Set r = Nothing End Sub 例えば、こんな感じ? でも、これは、Rangeオブジェクトを最初に取っているのだから、そのアドレスから取ればよいのですね。これに関しては、あまり差はないような気がします。 もしコンボボックスが、コントロールツールなら、そのプロパティの 「ColumnHead : True」にすれば、同じ列名と、内容が全部出るはずです。それは、質問とは違うかもしれませんが。^^;

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんばんは。思いつきですが。   For i = 1 To Columns.Count     sColName = Cells(1, i).Address(True, False)     sColName = Left$(sColName, InStr(sColName, "$") - 1)     ComboBox1.AddItem sColName & "列"   Next

全文を見る
すると、全ての回答が全文表示されます。
  • 0shiete
  • ベストアンサー率30% (148/492)
回答No.1

1、Columnプロパティで列番号を数字で取得。 2、Chr関数を使って、アルファベットに変換。 でできそうな気がしますが、AA列以降のことも考えるとめんどくさそう。 手動設定の方が、シンプルでいいかも!?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルでコンボボックス内に2列表示をしたい

    オプションでrowsourceに、A3:B10としたばあい、2列表示をしてほしいのです。 しかし、選択して、コンボボックスに表示するときは、A列の分だけでいいのです。 こんなことってできますか? また、コンボで選択したものが、表示されますが、別のものを選択した場合、その後ろにスペースを空けて表示するなんてことはできますか? コンボボックスで選択するものが2つ以上できたらいいと思います。

  • VBA コンボボックス リスト表示について

    初心者ですいません エクセル VBAのフォームでコンボボックス3つと、テキストボックス3つがあります シートのListにA~F列までのデータがあり、コンボボックス1にA列のリストを表示し コンボボックス2にA列で選んだリストを参照したB列のリストを表示し、コンボボックス3 にコンボボックス1,2で選んだリストを参照し、C列のリストを表示した後、 コンボボックス1,2,3で選ばれたもののD列、E列分をテキストボックス1,2に 反映しようと思っておりますがうまくいきません どのようにしたらよいか、おしえてください 宜しくお願いします ちなみに、リストの内容は A列   B列   C列     D列   E列 テレビ 42インチ  HDD内蔵  台    100,000 テレビ 32インチ  BD内蔵   台     80,000 テレビ 19インチ          台     50,000 ビデオ HDD   1TB     台    100,000   ビデオ HDD   500GB    台     80,000 ビデオ BD            台     70,000 が、入ってます 希望は、質問の際のカテゴリ選択のようになればよいのですが... さらに、希望を言えば、自動で、行ごとに1,2,3...と番号を振るようにしており スピンボタンで番号を選べば、登録された上記のデータをフォームに反映させるようにしております これもうまくいきません お願いばかりで申し訳ありませんが 宜しくお願いします

  • コンボボックスのリスト表示について

    ユーザーフォーム上でコンボボックスを作成しました。 リストの元となるデータがあるセル範囲に名前を付け、 コンボボックスのRowSourceにその名前を入れてリストにしています。 リストを変更するときにはデータを作り変え、マクロでそのセル範囲に名前を付け替えるようにしています。 問題は前のリストの数が3つだったとし、次にリストの数を5つになるように作り変えた時にコンボボックスの表示が上3つまでしか表示されないのです。 リストのスクロールもできない状態です。 Visual Basicの画面でコンボボックスをいじったら直っています。 名前のセル範囲、データの変更はきちんと反映しています。 List Rows等のプロパティをいじってみても直りません。 どこを設定しなおせばいいのでしょうか。OSはMe、Excel2000です。

  • VBA コンボボックスの条件分岐

    コンボボックスの条件分岐のコードが間違っているみたいで 調べても分からなかったので質問します。 やりたいこと 『マスタ』という名前のシート内のセルを参照し マスタシートには C2セル『A』C3セル『B』C4セル『C』と それぞれアルファベットがあります。 そこでコンボボックスを使用し コンボボックス22にC2~C4セルを選択できるようにし 例えばC2セルを選択したら コンボボックス21の参照範囲をマスタシート内の D2~D13セルを選択できるようにし C3セルを選択したら コンボボックス21の参照範囲をマスタシート内の E2~E13セルを選択できるようにしたいのです。 すいませんがコードを記載して頂けますと 助かります。 Private Sub UserForm_Activate() '----------------------- With ComboBox22 .ColumnCount = 2 .ColumnWidths = "90;10" .RowSource = "マスタ!C2:C4" End With '↑こうすればコンボボックス22のマスタシートのC2からC4まで値を選択できるようになります。 '------------------------わかりやすく区切っています。 '--------------------------------------- If UserForm1.ComboBox22 = "A" Then With ComboBox21 .ColumnCount = 2 .ColumnWidths = "90;10" .RowSource = "マスタ!D2:D13" End With End If '↑コンボボックス22の値が(C2セルの値がAなら)コンボボックス21をマスタシートのD2からD13までを選択できるようにしたい If UserForm1.ComboBox22 = "B" Then With ComboBox21 .ColumnCount = 2 .ColumnWidths = "90;10" .RowSource = "マスタ!E2:E13" End With End If '↑コンボボックス22の値が(C3セルの値がBなら)コンボボックス21をマスタシートのE2からE13までを選択できるようにしたい '----------------------------------------区切っています。 End Sub

  • コンボボックスの貼りつけ excel

    vba初心者です。excel帳簿を作っております。 科目選択時にリストが28個あるプルダウンを使っておりましたが選択するのが大変だったのでコンボボックスにしたら28個全て表示されるようになり選択が楽になりました。 このコンボボックスのLinkedCellはD4です。 コンボボックスをD4の上に表示してD4セルにピッタリはめ込んでいる感じに見えます。 D4以下150個、D列にコンボボックスを貼りつけたいです。 コピーして貼り付けてもLinkedCellはD4のままですので、貼りつけたコンボボックスのプロパティを150回変えないといけないのかと思うと気が遠くなります。 このコンボボックスを何か登録して、「コードの表示」あたりで何かやれば何とかなるのではないかと思ったのですが、何か手立てがあれば教えてください。 このコンボボックスを同じブックの別のシートにも使いたいと思っております。

  • ExcelVBA コンボボックスの表示

    お世話になります。 VBAユーザフォームのコンボボックスのリストにソースから追加しています。 ColumnCountを2に設定しているので、コンボボックスから選択するときにはちゃんと2列表示されるのですが、選択したあとにコンボボックスの表示に残るのは1列目だけなのです。 どのプロパティを変更したらいいのか見つかりません。 ご存知の方がいらっしゃいましたら、教えてください。 よろしくお願い致します。

  • エクセル複数列のコンボの使い方?

    こんにちは,よろしくお願いします。 複数列のコンボボックスを作成しました。 ワークシートからRowSourceプロパティで”A1:B4”と設定して, ____A列__B列 1行目__あ__A 2行目__え__Z 3行目__さ__D 4行目__き__G さらに,ColumnCountプロパティを2とし, ColumnWidthを,72 pt;0 ptとし,B列を表示されないようにしました。 このように,A列だけ表示させて,例えば「え」を選択したとき,特定のセルに「Z」と入力させたいのですがどのようにすれば良いのでしょうか? このようなことを,以前に行ったことがあるのですが,ヘルプなどを見てもどうしても思い出せません。 すみません,よろしくお願いします。教えて下さい。

  • EXCELの行(または列)の表示・非表示について

    EXCELの行(または列)の表示・非表示についてですが、 通常は該当する行(または列)を選択し、マウスの右クリックで 選択して実行すると思いますが、 例えばVBの『コマンドボタン』を2つ使用すること(表示用,非表示用)で、 予め指定した範囲の行や列を表示したり非表示にしたりすることは 可能でしょうか? ご存知の方がいらっしゃればお教え願います。 ちなみにVBについては殆ど知識がありません。 宜しくお願い致します。

  • Excel 行・列の非表示について

    コンボボックスやコマンドボタンを配置してある行や列を非表示にすると、そのコンボボックスやコマンドボタンは画面に残ったままになります。 コンボボックス・コマンドボタンごと行や列を非表示にするテクニックはありますでしょうか? ※コンボボックスやコマンドボタンは絶対に削除できない 下手な文章ですみません。 不明点はご指摘いただければ、補足にて追記させていただきます。 よろしくお願いします。

  • 条件を満たす行の、特定の列における最小値

    以下のようなスプレッドシート(Excel)があります。    [A列] [B列] [C列] [D列] [E列] [1行]資材コード メーカー 単価 平均 最安 [2行]T1111 A 311 [3行]T1211 A 411 [4行]T1311 A 311 [5行]T1111 B 299 [6行]T1211 B 500 [7行]T1311 B 312 [8行]T1111 C 300 [9行]T1211 C 280 [10行]T1311 C 400 D列(D2~D10)には、 同じ資材コードの単価の平均が入ります。 これは、 SUMIF(A$2:A$10,A*,C$2:C$10)/COUNTIF(A$2:A$10,A*) (*には当該行番号が入る。) で、表現できました。 次にE列(E2~E10)には 同じ資材コードのもののうち、 最安となる単価を表示させたいのですが、 どう関数を組み合わせるのが、スマートなのかわかりません。 たとえば、E2セル、E7セル、E11セルは 資材コードT1111になっている行のうち、 単価(C列)が最低となる時の値を表示するようにしたいので、 C2セル=311、C7セル=312、C8セル=800のうち、最低である311が E2セル=311、E7セル=311、E8セル=311 にそれぞれ表示されるようにしたいのです。 わかりにくい説明で申し訳ありませんが、 疑義があれば、適宜補足しますので、指摘してください。 よろしくお願いいたします。

このQ&Aのポイント
  • PCに接続中のメッセージが表示される場合、対処方法を教えてください。
  • Windows10を使用している場合、PCに接続中のメッセージが表示されるトラブルについての対処方法をまとめました。
  • ブラザー製品のMFC-J837DNでPCに接続中のメッセージが表示される場合について、対処方法を詳しく解説します。
回答を見る

専門家に質問してみよう