これは、エラー 91 に関する#12772920の投稿の続きです。(1) この行がコメント アウトされている場合、(2) エラー 91 が生成されます。コメント アウトされていない場合、コードは正常に実行されます。(3) これは public obj shCompanies が "Companies" シートを指すはずですよね? この行が (1) のように shCompanies オブジェクトを設定していないように見える理由がわかりません。
Option Explicit
Public wbCode As Workbook
Public Sub Main()
Dim tables As New CTables
Set wbCode = ThisWorkbook
Call SetExcelObjects
(2)Call tables.Indexing
End Sub
Public Sub SetExcelObjects()
Dim tables As New CTables
(3)Set tables.shCompanies = wbCode.Worksheets("Companies")
End Sub
---Class Module CTables
Option Explicit
Public shCompanies As Worksheet
Public Sub Indexing()
Dim rng As Long
Dim tables As New CTables
(1)Set tables.shCompanies = wbCode.Worksheets("Companies")
rng = tables.shCompanies.UsedRange.Rows.Count
End Sub