ワークシートの特定の値を入力するためにAccessにクエリを送信しようとしています。このワークシートは、現在のユーザーのログイン名を取得して列を確認することで取得します。この列は、アクセス中の列に従って更新されます。必要な値は、検索する列の右側の列にあります。VLookupを機能させるための一時的な試用として、以下のコードがあります
Private Sub CommandButton1_Click()
Dim user, cUser As String
user = (Environ$("Username"))
cUser = Application.WorksheetFunction.VLookup(user, Worksheets("Sheet1").Range("C2:C1000"), -2, False)
Worksheets("Sheet1").Range("F1").Value = cUser
End Sub
セルF1に必要な値を取得しようとしています。これが機能する場合は、値を変数に入れて、これをクエリに追加します。また、コードが機能し続けるようにエラー処理を挿入しますが、今のところ、列にあることがわかっている1つの値で機能させたいだけです。
代わりにこれを試してください:
Private Sub CommandButton1_Click()
Dim user As String, cUser As String '// Note you have to declare the type each time!
user = Environ$("USERNAME")
cUser = Sheets("Sheet1").Range("C:C").Find(user).Offset(, -2).Value
Sheets("Sheet1").Range("F1").Value = cUser
End Sub
これをもう一度簡略化すると、次のようになります。
Private Sub CommandButton1_Click()
Sheets("Sheet1").Range("F1").Value = Sheets("Sheet1").Range("C:C").Find(Environ$("USERNAME")).Offset(, -2).Value
End Sub
vlookupは、単にあなたがやろうとしていることに適していません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加