アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXECL2003でユーザーフォームを作成しているのですが困っています。

リストボックス(またはコンボボックス)の項目の設定に、他のブックのセルの値を使用したいのですがわかりません。

具体的には「単価表.xls」「見積書.xls」と2つのブックがあり、「見積書.xls」にユーザーフォームを作成します。
そのユーザーフォームのリストボックスの項目に「単価表.xls」のセルの値を設定したいのです。

本を見たりWEBを検索しても、ブック内のシートのセルの値を設定する例しか見つけることができません。

何か手がかりでも教えていただければ助かります。
よろしくお願いいたします。

A 回答 (2件)

別のブックでも以下のように参照が可能です。


 UserForm1.ListBox1.AddItem Workbooks("単価表.xls").Sheets("単価").Cells(i, 1).Value

ただし単価表.xlsが開いていなければなりませんので、単価表.xlsが開いていないことも想定すると次のようなマクロになるかもしれません
(「単価表.xls」「見積書.xls」は同じフォルダにあると想定)

Sub Macro3()
Dim wb As Workbook
Dim sw As Boolean
Dim i As Integer
For Each wb In Workbooks '単価表.xlsが開いているかチェック
 If wb.Name = "単価表.xls" Then
  sw = True
  Exit For
 End If
Next wb

If sw = False Then '開いていないときは開く
 Workbooks.Open Filename:="単価表.xls"
End If

UserForm1.ListBox1.Clear
For i = 1 To 10 'リストボックス項目を追加
 UserForm1.ListBox1.AddItem Workbooks("Book2.xls").Sheets("Sheet1").Cells(i, 1).Value
Next i
UserForm1.Show
End Sub
    • good
    • 0
この回答へのお礼

できました!!
ありがとうございました。

お礼日時:2007/08/03 16:12

単価表.xlsのSheet1のA2:B10を表示するとして、


以下で表示できます。
ただし、単価表.xlsはOPEN済みの場合です。

ColumnCount=2
ColumnWidth=2cm;3cm
RowSource=[単価表.xls]Sheet1!A2:B10

Excel2003で確認。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
参考にさせていただきました。

お礼日時:2007/08/03 16:14

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A