
いつもお世話になっております。
初歩的質問かも知れませんが、宜しくお願いします。
EXCEL2007使用。
Sheet2に下記のような値があります。
A B C D E
1 あか きいろ みどり みどり しろ
2 しろ しろ しろ くろ
3 しろ あか しろ あお
4 きいろ あお しろ あお
5 くろ あか
6 くろ あお
7 しろ
A1:E7までの範囲の値を、
Sheet1にあるテキストボックス(またはコンボボックス)に縦に表示したいのです。
A~Eの複数の列の値には空白も含まれていて、
縦一列に値を表示するにも、空白を省く処理ですでに躓いております。
何か良い方法がありましたら、
ぜひご教授お願いいたします。
No.3ベストアンサー
- 回答日時:
テキストボックスって、シートに貼り付けたテキストボックスでいいですか?
Sub sample()
Dim vData As Variant
Dim oTextbox As OLEObject
Dim nFlag, i, j
'テキストボックスを探す(今回は最初に見つけたテキストボックスが対象)
nFlag = 0
For Each oTextbox In Worksheets("Sheet1").OLEObjects
If TypeName(oTextbox.Object) = "TextBox" Then
nFlag = 1
Exit For
End If
Next
If nFlag = 0 Then
MsgBox ("テキストボックスがありません")
Exit Sub
End If
oTextbox.Object.Value = "" 'テキストボックスのクリア
oTextbox.Object.MultiLine = True '念のため複数行をTrueに
'テキストボックスに値を入れる
vData = Worksheets("Sheet2").Range("A1:E7")
For i = 1 To 5
For j = 1 To 7
If vData(j, i) <> "" Then
oTextbox.Object.Value = oTextbox.Object.Value & vData(j, i) & vbCrLf
End If
Next j
Next i
End Sub
ありがとうございます。
思った通りになりました。
空白を詰める方法がどうしてもわからず、
四苦八苦していましたが・・・
こんな方法があったとは。
本当に勉強になります。
ありがとうございました。
No.2
- 回答日時:
ListBox(またはコンボボックス)を配置し,プロパティで
ColumnCountを5
ColumnWidthを例えば45;45;45;45;45
ListFillRangeにSheet2!A1:E7
と設定してみます。

この回答への補足
ありがとうございます。
素人の私にも直下的に理解できるものでした。
しかし、私の求めている結果とは少し違います。
値を全て縦に表示したいのです。
A列の値の下にB列の値といった感じです。
A1:E7の範囲内の値を、空白のない状態で詰めて
縦表示することはできませんか?
説明不足で申しわけありません。
宜しくお願いいたします。
今回はmt2008様の方法で対処いたしましたが、
keithin様の方法も大変勉強になりました。
またわからないときは質問させていただきますので、
その時は宜しくお願いいたします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
-
任意で選択したセルをテキストボックスに表示
Excel(エクセル)
-
テキストボックスにセルの値を複写する方法
Visual Basic(VBA)
-
-
4
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
5
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
6
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
7
セルの内容をテキストボックスに移動したい
Excel(エクセル)
-
8
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
9
【エクセル】シート内の表をUserFormに画像として表示させる方法
Excel(エクセル)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
ラベルを表示したり非表示にしたりしたい
Visual Basic(VBA)
-
12
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
13
コンボボックスからテキストボックスに連続して値を出したい
Excel(エクセル)
-
14
VBAのテキストボックスに文字列を貼り付ける方法
Access(アクセス)
-
15
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
16
エクセルファイルを開く時、常に同じシートから開くようにするには?
Windows Vista・XP
-
17
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
18
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
19
数値入力で簡単に該当のセルへ移動できませんか?
その他(Microsoft Office)
-
20
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
血小板増加について
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
Excel 数値の前の「 ' 」を一括...
-
風俗店へ行く前のご飯
-
彼女のことが好きすぎて彼女の...
-
VLOOKUP関数を使用時、検索する...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
勃起する時って痛いんですか? ...
-
精液の落とし方を教えてください
-
リンク先のファイルを開かなく...
-
検便を取ったのですが、棒から...
-
精子に血が・・・
-
イタリアから帰国する際、肉製...
-
2つの数値のうち、数値が小さい...
-
EXCELで式からグラフを描くには?
-
舌の裏の痛みのないプツプツの...
-
エクセルで数式の答えを数値と...
-
Excel関数:本日以降(以前)の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報