コードを実行すると、Type Mismatch のエラーが発生しますuserNames = .Range("A1:A100")
。これをどのように修正できるかわからない、何か提案はありますか?
Sub AddPix()
Dim userNames() As String
Dim userPixNames() As String
Dim currentUser As String
Dim myPassword As String
myPassword = "trade2013"
Sheets("Collection Slip").Unprotect Password:=myPassword
With Worksheets("User Management")
'Assign the user names to an array (much faster than looping through range)
userNames = .Range("A1:A100")
userPixNames = .Range("B1:B100")
End With
For i = 1 To 100
'The 1 in userNames(i,1) is needed because of the way
'VBA creates an array assigned directly from a range
'(as we did above)
If Environ$("UserName") = userNames(i, 1) Then
'Have I missed where the picture will be inserted?
With Sheets("Collection Slip").Pictures.Insert _
("G:\ITS\Shared\Signature\" & userPixNames(i, 1) & ".jpg")
.Top = Range("B31").Top
.Left = Range("B31").Left
.Width = 250
.Height = 58
End With
'short-circuit the For loop when current user's name is found
i = 100
End If
Next i
'Sheets("Collection Slip").Protect Password:=myPassword
End Sub
さらに、文字列ではなくバリアントとしての Dim userNames() にうんざりしています。ただし、「userNames = .Range("A1:A100")」で「Type Mismatch」のエラーが引き続き発生します。
どんな助けでもいただければ幸いです