VBA Excel “erreur de Compilation: Objet Requis”
Je suis en train de travailler sur le code VBA dans excel et j'ai le morceau de code suivant
Set strModel = Right(rng.Offset(0, 13).Value, Len(rng.Offset(0, 13).Value) - 4)
Lorsque j'exécute le code, j'obtiens une erreur de compilation debug et il lit Object Required
. Qu'est ce qu'il me demander de faire?
C'est un grand morceau de code:
strHSLtemp = "C:\Users\Desktop\To Do\MidDay Orders Macro Tool\Temp Files\HSL Orders Temp.xlsx"
wbHSLtemp = Dir(strHSLtemp)
Set wbHSLtemp = Workbooks.Open(strHSLtemp)
Set wsHSLtemp = wbHSLtemp.Sheets(1)
Dim arrModels() As String, strModel As String, blMultipleModels As Boolean, rngModel As range, lngModels As Long
Dim rng As range
Set strModel = Right(rng.Offset(0, 13).Value, Len(rng.Offset(0, 13).Value) - 4) 'strip off leading "HSL-"
strModel = Replace(strModel, " /", "/") 'get rid of the spaces that appear to surround the forward slash
If InStr(1, strModel, "/") > 0 Then 'yep, there are multiples
blMultipleModels = True
Else
blMultipleModels = False
End If
If blMultipleModels = False Then 'just assign the model and move on in the outer loop
wsHSLtemp.Cells(lastrowOutput, 12) = strModel
Set
est utilisée avec des variables qui contiennent référence à des objets. Avec les valeurs de la Let
peut être utilisé, mais il est facultatif et surtout omis. Donc, si vous voulez être absolument correcte, vous pouvez utiliser Let strModel = "..."
.Un sujet ici comme la cause racine du problème est le même.
OriginalL'auteur Sandra Barocio | 2015-02-17
Vous devez vous connecter pour publier un commentaire.
Que vous essayez d'utiliser le mot-clé set avec une variable de chaîne. Set est nécessaire uniquement avec des Objets. Enlever le jeu, et vous devriez être bien:)
Plus précisément,
Modifiez ce qui suit:
:
OriginalL'auteur Pillgram
Bien, vous avez déclaré une
rng
variable, mais vous n'avez pas attribuer toute la valeur. Donc:Remplacer
Set strModel = Right(rng.Offset(0, 13).Value, Len(rng.Offset(0, 13).Value) - 4)
avec
strModel = Right(rng.Offset(0, 13).Value, Len(rng.Offset(0, 13).Value) - 4) 'strip off leading "HSL-"
Affecter une valeur à
rng
variable, un point de départ pour les compensations.OriginalL'auteur Wiktor Stribiżew