Calender
Sun Mon Tue Wed Thu Fri Sat
   1234
567891011
12131415161718
19202122232425
262728    
<< February 2017 >>
広告
SEARCH

SELECTED ENTRIES
RECENT COMMENTS
RECENT TRACKBACK
CATEGORIES
ARCHIVES
LINKS
PROFILE
OTHERS
SKYPE
PC: skype.jojo.jp
chat
iPad: iphone.jojo.jp
chat call
THANKS



本日:
昨日:
多言語
広告
 ▼▲ 作業日報 ▼△
    What's under the hood?
<< 【温泉】喜多の湯_六条温泉(岐阜) | main | WORD、改行を自動で入れない >>
【Excel:VBA】コントロールを引数として渡す方法
 ExcelのVBAですが、ワークシートなどのオブジェクトは普通に引数として渡すことができますが、ワークシート上のコントロールは渡すことができません。
Private sub showListBoxCount(ctrl as ListBox)
MsgBox ctrl.ListCount ' .......NG
end sub
 Listbox型をControlやObjectにしても「型が一致しません」(13)となります
 Excelの場合WorkSheet上に置いたコントロールはWorkSheetやShapeなどとは違うオブジェクトの扱いをうけるようで  WorkSheetオブジェクトのOLEObjects[]->Objectプロパティ経由で参照しなければならないようです。
'Call側
Private Sub CommandButton1_Click()
   showListBoxCount OLEObjects("ListBox1").Object
   showListBoxCount ListBox1.Object
End Sub

Private Sub showListBoxCount(ctrl As Object)
  MsgBox ctrl.ListCount     '.......OK
End Sub
| 開発関連 | 12:30 | comments(1) | trackbacks(0) |
助かりました。
有難うございます。
VBAは理不尽が多くて苦手です。
| jiji | 2013/09/12 11:20 AM |









http://blog.jojo.jp/trackback/1240771