私は2つのワークシート、製品グループとデータベースがあります。データ検証付きのVBAアップデートセル?
私のシートを、製品グループは、以下のようなレイアウトになっています。
A4
A5 {Button}
A6
A7
A8
ユーザーは、以降の列A4に値を追加することができます。このリストは、A4- A8またはA4〜A100まで拡張できます。
私は、彼らは列Aの値を更新した後、ユーザーがマクロを実行することを可能にするボタンを作成している
セルT7の私のデータの検証に使用された行をLastにA4から値を挿入する必要があり、このマクロ私のデータベースシートに。私は、この行にエラーを取得するいくつかの理由
Sub button()
Dim lastRow As Long
lastRow = ThisWorkbook.Worksheets("Product Groups").Range("A4" & Rows.Count).End(xlUp).Row
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim range1 As Range, rng As Range
'change Sheet1 to suit
Set ws = ThisWorkbook.Worksheets("Database")
Set ws2 = ThisWorkbook.Worksheets("Product Groups")
Set rng = ws.Range("T7")
Set range1 = ws2.Range("A1:A" & lastRow)
With rng.Validation
.Delete 'delete previous validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Formula1:="='" & ws2.Name & "'!" & range1.Address
End With
End Sub
:
lastRow = ThisWorkbook.Worksheets("Product Groups").Range("A4" & Rows.Count).End(xlUp).Row
アプリケーション未定義または未定義のエラーオブジェクト
は、ここに私のコードです。
どこが間違っているのか教えてください。おかげ
それを示して答えを使用
に与えられています).Range( "A4"&ThisWorkbook.Worksheets( "Product Groups")。Rows.Count).End(xlUp).Row' ...(2番目の 'ThisWorkbook.'は必要ないかもしれませんが、 。) – BruceWayne
ほぼそうです。範囲( "A"&ThisWorkbook.Worksheets( "製品グループ")。Rows.count).End(xlUp).row' – user3598756
@ user3598756私にそれを打ちなさい。 'Range(" A4 ")'を使って行4を定義してから、行を再定義しようとすることはできません。 'Range'のColumn A部分を使い、' .Rows.Count'を使って行部分を定義するだけです。 – SalvadorVayshun