ネットワークパスにあるExcelブックにリンクされているユーザーフォームで作業しています。ノートブック内には、ソースという名前のテーブルがあります。このテーブルにはIDとソース名が含まれています。ユーザーフォームには、新しいソースをテーブルに追加するボタンがあります。私の現在のVBAは次のようになります:テーブルに挿入するときに 'range'オブジェクトが失敗した場合の '_Default'のVBAエラーメソッド
Private Sub bFinishAdd_Click()
Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Range
Dim lr As Long
Set wb = Workbooks.Open("\\datapath\datasub1\datasub2\filename.xlsx")
Set ws = wb.Worksheets("Source")
Set rng = ws.Range("Source[Source]")
If tbNewSourceName <> "" Then
If Application.WorksheetFunction.CountIf(rng, tbNewSourceName) > 0 Then
MsgBox "Source System already exists!"
lbSourceSystems.Enabled = True
bAddSource.Enabled = True
frameAddSource.Enabled = False
lblNewSourceName.Enabled = False
bFinishAdd.Enabled = False
bCancelAdd.Enabled = False
tbNewSourceName = ""
tbNewSourceName.Enabled = False
tbNewSourceName.BorderStyle = fmBorderStyleNone
Exit Sub
Else
lr = ws.Cells(Rows.Count, 1).End(xlUp).Row
ws.Cells(lr + 1, 1) = lr - 1 + 1000
ws.Cells(lr + 1, 2) = tbNewSourceName
End If
End If
End Sub
新しいソースを追加すると、オブジェクト 'range'が失敗した場合の '_Default'のメソッドがエラーになります。 Excelは、単にクラッシュし、私はデバッグすることはできませんが、私は、エラーが原因で発生し知っている:
ws.Cells(lr + 1, 1) = lr - 1 + 1000
ws.Cells(lr + 1, 2) = tbNewSourceName
しかし、私はエラーを受け取るか、またはどのようにそれを修正するよ理由を理解していません。何か案は?
ありがとうございました。これは私のエラーを修正しませんでした。しかし、私は問題の原因を突き止めました。私のUserForm内には、追加していたテーブルに結びついたListBoxがあります。これは、テーブルに追加する前にRowSourceを削除し、後でRowSourceを追加することで修正されました。 –