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
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: