私はTFSクエリにリンクされているマクロを作成しています。ある時点で、私は、各結果シートを更新する機能を使用し、その後、私は、それゆえ私のコードは次のようになり、テーブルの範囲を知る必要だ:私はそれを実行したとき、それはだ、今関数のエラーでエラー91を解決する方法
Function RefreshQuery(shtTFSExcel_Name As String) As Range
Dim activeSheet As Worksheet
Dim teamQueryRange As Range
Dim refreshControl As CommandBarControl
Dim lr As Integer, lc As Integer
Set refreshControl = FindTeamControl("IDC_REFRESH")
If refreshControl Is Nothing Then
MsgBox "Could not find Team Foundation commands in Ribbon. Please make sure that the Team Foundation Excel plugin is installed.", vbCritical
Exit Function
End If
Application.ScreenUpdating = False
Set activeSheet = ActiveWorkbook.activeSheet
Set teamQueryRange = Worksheets(shtTFSExcel_Name).ListObjects(1).Range
teamQueryRange.Worksheet.Select
teamQueryRange.Select
refreshControl.Execute
activeSheet.Select
Application.ScreenUpdating = True
lr = teamQueryRange.Columns(1).Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
lc = teamQueryRange.Rows(2).Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
Set RefreshQuery = Cells(lr, lc)
End Function
正常に動作して、End Function
ステートメントに達し、エラーコード91が返されます(予想範囲を作成するRefreshQuery
を見ています)。オブジェクトを割り当てるためにSet
ステートメントを使用しているので、何が失敗するのか分かりません。関数の結果を得るためにRange変数があります。 助けていただければ幸いです。前もって感謝します。
これらの値が見つかったかどうか、つまりlrとlcが実際の数値であることを確認しましたか? – SJR
また、 'teamQueryRange.Worksheet.Select'、' teamQueryRange.Select'、 'activeSheet.Select'を取り除き、' Set'を 'Set RefreshQuery = teamQueryRange.Cells(lr、 lc) 'またはそれに類するもの。 – CLR
@SJR、そうですね、正確には、それらの値が正しく割り当てられていることを確認するために 'RefreshQuery'を監視する理由です。 –