[Excel VBA] Zoeken naar waarde in range

Pagina: 1
Acties:
  • 7.942 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • SierdW
  • Registratie: April 2004
  • Laatst online: 29-11-2024
Ik ben bezig met een klein projectje, wat ik enigsinds wil versnellen mbv een macro. Een groot deel van het maken van de macro lukt mijzelf, echter, op een klein punt loop ik vast.

Ik wil in meerdere Excel documenten zoeken naar kentekens die in een Excel document staan. Deze kentekens waarmee ik ga zoeken hebben allemaal mooi de opmaak AA-BB-11. Echter, in de cellen waarin moet worden gezocht is die opmaak niet zo mooi, daar staat vaak meer text in waardoor code als "if waarde1 = waarde2 then" niet gaat werken. Waarschijnlijk moet dit dus met cells.find. Met deze code lukt het mij echter niet om hier een actie aan te koppelen.

Stel ik wil zoeken naar kenteken AA-BB-11, en in document 4 staat op regel 586 het volgende:
AA-BB-11 | AK LGS AA-BB-11
hoe kan ik dan deze cell selecteren (en vervolgens waarden kopieren). Als het selecteren lukt, dan weet ik me verder wel weer te redden, ik loop nu echter vast en hoop dat iemand me hier met dit 'kleine stapje' kan helpen.

Ik hoop dat het een duidelijk verhaal is geworden :)

/edit Ik heb zelf ook al zitten denken aan het gebruik van wildcards, maar voor zover ik kan vinden is dit niet mogelijk in bijvoorbeeld de vorm if waarde1 = *waarde2* then, zoiets zou echter voor mij al een oplossing zijn

[ Voor 9% gewijzigd door SierdW op 18-12-2006 16:07 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je kunt eens kijken naar de Instr functie (kent VBA ook "like" zoals VB6?) of de Like functie ;)
Verder: Waar hoort mijn topic?
PRG >> OFF ;)

[ Voor 6% gewijzigd door RobIII op 18-12-2006 16:51 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • BertS
  • Registratie: September 2004
  • Laatst online: 14-04 17:14

Acties:
  • 0 Henk 'm!

  • storeman
  • Registratie: April 2004
  • Laatst online: 09-08 21:54
Of gewoon met een Find() of Match() ?

Met behulp van een macro kun je documenten openen en sluiten dus in meerdere files en tabbladen zoeken zal niet zo'n probleem zijn

"Chaos kan niet uit de hand lopen"


Acties:
  • 0 Henk 'm!

  • CoRrRan
  • Registratie: Juli 2000
  • Laatst online: 24-06 09:35

CoRrRan

Don't Panic!!!

Zoiets?:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
Sub FindString()
  
  Dim strFind As String
  Dim rngFind As Range, rngLookUp As Range
  
  strFind = "AA-BB-11"
  
  Set rngLookUp = Range("A1:A100")
  
  Set rngFind = rngLookUp.Find(strFind, LookIn:=xlValues)
  
End Sub

-- == Alta Alatis Patent == --


Acties:
  • 0 Henk 'm!

  • SierdW
  • Registratie: April 2004
  • Laatst online: 29-11-2024
CoRrRan schreef op dinsdag 19 december 2006 @ 16:38:
Zoiets?:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
Sub FindString()
  
  Dim strFind As String
  Dim rngFind As Range, rngLookUp As Range
  
  strFind = "AA-BB-11"
  
  Set rngLookUp = Range("A1:A100")
  
  Set rngFind = rngLookUp.Find(strFind, LookIn:=xlValues)
  
End Sub
Zoiets is inderdaad iets wat ik zoek. Er is echter nog wel een kleine uitbreiding nodig, als hij iets vindt moet hij de naastliggende cell kopieren, dus die in kolom B bijvoorbeeld. Hoe kan ik dat stukkie nog combineren in deze code?

Acties:
  • 0 Henk 'm!

  • CoRrRan
  • Registratie: Juli 2000
  • Laatst online: 24-06 09:35

CoRrRan

Don't Panic!!!

SierdW schreef op dinsdag 19 december 2006 @ 18:52:
[...]

Zoiets is inderdaad iets wat ik zoek. Er is echter nog wel een kleine uitbreiding nodig, als hij iets vindt moet hij de naastliggende cell kopieren, dus die in kolom B bijvoorbeeld. Hoe kan ik dat stukkie nog combineren in deze code?
Door bijvoorbeeld hetvolgende toe te voegen tussen regel 10 en 12:
Visual Basic:
1
dblVar = rngFind.Offset(0, 1).Value
of regel 10 vervangen door:
Visual Basic:
1
Set rngFind = rngLookUp.Find(strFind, LookIn:=xlValues).Offset(0, 1)

-- == Alta Alatis Patent == --


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

SierdW schreef op dinsdag 19 december 2006 @ 18:52:
[...]


Zoiets is inderdaad iets wat ik zoek. Er is echter nog wel een kleine uitbreiding nodig, als hij iets vindt moet hij de naastliggende cell kopieren, dus die in kolom B bijvoorbeeld. Hoe kan ik dat stukkie nog combineren in deze code?
Dit gaat wel erg richting script-requesten en dat houden we liever buiten de deur. Zoek zelf ook wat uit ;)

titelfix: VB bestaat niet in Excel. Dat is VBA. Lijkt op elkaar, is wat anders.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1