Hallo,
Onderstaande VBA doet het echter B1 en B3 zijn erg traag t.o.v. B2.
Als er via B2 een nummer wordt gezocht wordt dat nummer in +/- 0,2 seconden gevonden terwijl als er een nummer van B1 of B3 wordt gezocht duurt dat langer dan 3 seconden.
Het zoekgebied van B1 en B3 is niet groter dan 70 regels, terwijl B2 36000 regels zijn.
Ik hoop dat één van jullie mij hiermee kan helpen, ben er al 2 weken mee bezig en van alles geprobeerd, maar krijg het geen spat sneller.
Alvast bedankt voor het meedenken.
Groetjes,
Perry![Confused :confused: :confused:](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![Confused :confused: :confused:](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![Confused :confused: :confused:](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![Confused :confused: :confused:](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Onderstaande VBA doet het echter B1 en B3 zijn erg traag t.o.v. B2.
Als er via B2 een nummer wordt gezocht wordt dat nummer in +/- 0,2 seconden gevonden terwijl als er een nummer van B1 of B3 wordt gezocht duurt dat langer dan 3 seconden.
Het zoekgebied van B1 en B3 is niet groter dan 70 regels, terwijl B2 36000 regels zijn.
Ik hoop dat één van jullie mij hiermee kan helpen, ben er al 2 weken mee bezig en van alles geprobeerd, maar krijg het geen spat sneller.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 32 And Target.Column = 3 Then
x = Target.Value
If Len(x) = 6 Then x = "0" & Target.Value
If Len(x) = 5 Then x = "00" & Target.Value
Set B1 = Worksheets("9 Miljoen").Cells.Find(x, , xlValues, xlWhole)
Set B2 = Workbooks("artikelbestand21.xls").Sheets("DSKNEW_P").Cells.Find(x, , xlValues, xlWhole)
Set B3 = Worksheets("Standaard").Cells.Find(x, , xlValues, xlWhole)
If B1 Is Nothing And B2 Is Nothing And B3 Is Nothing Then MsgBox "Artikelnummer niet gevonden!!!!!!", vbInformation, "Artikelnummer": Exit Sub
If Not B1 Is Nothing Then '9 MILJOEN
Target.Offset(, 1).ClearContents
Target.Offset(, 3) = B1.Offset(, 1).Value
Target.Offset(, 4) = B1.Offset(, 2).Value
Target.Offset(, 5) = B1.Offset(, 4).Value
Target.Offset(, 10) = B1.Offset(, 3).Value
Target.Offset(0, 5).Font.ColorIndex = 1
ElseIf Not B3 Is Nothing Then 'STANDAARD
Target.Offset(, 1).ClearContents
Target.Offset(, 3) = B3.Offset(, 1).Value
Target.Offset(, 4) = B3.Offset(, 2).Value
Target.Offset(, 5) = B3.Offset(, 3).Value
Target.Offset(, 5).Font.ColorIndex = 3
Target.Offset(, 12) = B3.Offset(, 9).Value
Target.Offset(, 13) = B3.Offset(, 11).Value
Else
'ARTIKELBESTAND
Target.Offset(, 1).ClearContents
Target.Offset(, 3) = B2.Offset(, 1).Value
Target.Offset(, 4) = B2.Offset(, 2).Value
Target.Offset(, 5) = B2.Offset(, 5).Value
Target.Offset(, 5).Font.ColorIndex = 1
Target.Offset(, 10) = B2.Offset(, 4).Value
Target.Offset(, 5).Font.ColorIndex = 1
End If
End If
End Sub
Alvast bedankt voor het meedenken.
Groetjes,
Perry
Laatst bewerkt: