Excel マクロ: 「ユーザー名 [コード例: Environ("Username")] がこの範囲内のいずれかの値と等しい場合 [例: ワークブックから作成した範囲: Range("Authorized_Users")] のコードを作成する方法。 .." ありがとう!
質問する
1103 次
2 に答える
1
あなたの仕様は必要なコードに非常に近いです...
If Not IsError(Application.Match(Environ("Username"), [Authorized_Users], 0)) Then
于 2012-07-27T10:21:27.673 に答える
1
基本的には、書いたことを正確に実行する必要があります。現在、ソリューションに欠けているのは次の 2 つです。
- ユーザー名を取得する方法。
- 範囲で検索する方法。
エクセルはすでに優れた機能を提供しているため、どちらのタスクもそれほど難しいものではありません。
2 番目の点については、範囲を検索する関数を作成する必要があります。範囲内検索関数は次のようになります。
Function ExistsInRange(range As range, name As String) As Boolean
ExistsInRange = False
Dim resultRange As range
If Trim(name) <> "" Then
With range
Set resultRange = .Find(What:=name, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not resultRange Is Nothing Then
ExistsInRange = True
End If
End With
End If
End Function
列 B のすべての行でユーザー名「jeff」を検索する場合、呼び出しは次のようになります。
If ExistsInRange( sheet.Range("B:B"), "jeff") Then
于 2012-07-27T09:44:05.787 に答える