Bij het runnen van deze code krijg ik bij
run-time error 1004.
Zie onderstaand voor volledige code.
Wat doe ik verkeerd?
Met vriendelijke groet,
Willie
Code:
If Not Cells(h, 1).Text = "" Then
Zie onderstaand voor volledige code.
Code:
Private Sub CommandButton1_Click()
'Een instantie maken van Solidworks document dat nu actief is.
Set swModel = Application.SldWorks.ActiveDoc
'Onderdeel krijgt de naam van projectnummer van onderdeel.
Onderdeel = swModel.GetTitle
'Excel en MyFile als object dimensioneren
Dim myExcel As Object, myFile As Object
'Nieuwe instance van Excel maken, als excel nog niet geopend is.
If Excel.Application Is Nothing Then
Set myExcel = CreateObject("Excel.Application")
Else
Set myExcel = Excel.Application
End If
'Deze nieuwe instance hoeven we niet te zien.
myExcel.Visible = False
'Het Excel-document bevat misschien macro's, maar dat mag geen aanleiding geven tot een vraag aan de gebruiker.
myExcel.DisplayAlerts = False
'Het Excel-document openen.
Set myFile = myExcel.Workbooks.Open("X:\PROJECTEN\WIJZIGINGEN BEHEER.xlsx")
'Opzetten van een loop. h wordt iedere stap 1 groter tot het tweede getal is bereikt.
For h = 3 To 1048576
'Controleer iedere cel in kolom A met waarde h. Als het niet leeg is dan én dezelfde waarde heeft als variabele onderdeel dan:
If Not Cells(h, 1).Text = "" Then
If Cells(h, 1).Text = Onderdeel Then
'Opzetten van een tweede loop. i wordt iedere stap 1 groter tot het tweede getal is bereikt.
For i = 3 To 924 Step 3
'Controleer er al text was geschreven in de textbox tijdens initiatie.
If Controls("TextBox" & i).Locked = False Then
'Getal a is 1 groter dan getal i.
a = i - 1
'Getal b is 2 groter dan getal i.
b = i - 2
'Geef cel(h,i+1) de waarde van textbox nr. i.
Cells(h, i + 1).Value = Controls("TextBox" & i).Text
'Geef cel(h,i+1) de waarde van textbox nr. a.
Cells(h, a + 1).Value = Controls("TextBox" & a).Text
'Geef cel(h,i+1) de waarde van textbox nr. b.
Cells(h, b + 1).Value = Controls("TextBox" & b).Text
'Einde controle textbox
End If
'Herhaal als i niet het tweede getal is, anders sluit loop af.
Next i
'Als de cel gelijk is aan variabele moet de loop afsluiten, h wordt daarom gelijk gezet aan tweede getal.
h = 1048576
'Einde controle waarde van de cel
End If
End If
'Herhaal als h niet het tweede getal is, anders sluit loop af.
Next h
'Excel hebben we niet meer nodig.
myExcel.Quit
'Volgens sommige bronnen is het op Nothing zetten van de objectvariabelen niet nuttig, zelfs belachelijk. Andere bronnen,
'ok de VBA-help-file van Microsoft zelf, vinden het nodig. We nemen dan maar de veiligste weg.
Set myExcel = Nothing
Set myFile = Nothing
End Sub
Wat doe ik verkeerd?
Met vriendelijke groet,
Willie
Laatst bewerkt: