Adressen opzoeken in Excel *

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

Onderwerpen


Acties:
  • 0 Henk 'm!

  • m-unit
  • Registratie: April 2004
  • Laatst online: 08-05 16:38

m-unit

PSN: sjaak99 //

Topicstarter
Goedemorgen,

Ik heb een excel bestand dat bestaat uit een aantal regels,
nu wil ik graag het volgende maken.
ik wil in een cel (kolom C regel 3) iets kunnen typen zodat excel het in de spreadsheet opzoekt en voor mij "oplicht" of desnoods in een aparte pop up box laat zien.
wat voor een macro moet ik daarvoor maken?

extra info:

de gegevens staan in:

de gegevens waarop men kan zoeken: vanaf kolom A regel 5 tot en met regel 52.
de gegevens die ik dan wil laten zien lopen vanaf kolom A 5/52 tot kolom D 5/52

Excel 2003

elke tip is welkom

(heb al op google gezocht maar vond daar tot op heden geen duidelijke uitleg)

PSN: sjaak99 //


Acties:
  • 0 Henk 'm!

  • Chubbchubb
  • Registratie: September 2003
  • Laatst online: 24-03-2021

Chubbchubb

Blond en lekker? Mail me

Ik als complete VB-n00b heb ook een zoekfunctie moeten inbouwen in excel:
zoeken met VB naar een bepaalde cel in kolom A (na A5) met exact dezelfde inhoud als C3 kan met

set TmpColumn = Worksheets("Sheet1").Columns("A").Find(Worksheets("Sheet1").Cells(3, "C").value, lookat:=xlWhole, after:=Worksheets("Sheet1").Cells(5, "A"))

Tmpcolumn is een range, de rij van Tmpcolumn kun je opvragen via Tmpcolumn.row
Worksheets("Sheet1").Cells(TmpColumn.Row, "A") bijvoorbeeld

ik hoop dat je daarmee geholpen bent.

edit: foutje

[ Voor 6% gewijzigd door Chubbchubb op 12-06-2007 10:10 ]

Powered by: blond bier


Acties:
  • 0 Henk 'm!

  • job
  • Registratie: Februari 2002
  • Laatst online: 18-05 21:23

job

De functie "vert.zoeken" (vlookup) voldoet niet?

Acties:
  • 0 Henk 'm!

  • m-unit
  • Registratie: April 2004
  • Laatst online: 08-05 16:38

m-unit

PSN: sjaak99 //

Topicstarter
job schreef op dinsdag 12 juni 2007 @ 10:09:
De functie "vert.zoeken" (vlookup) voldoet niet?
@JobHet is een adressenlijst en het lijkt mij wel mooi en handig als de gebruikers een naam intypen van degene die ze zoeken, en dat dan de informatie van diegene op 1 of andere manier duidelijk wordt gemaakt.

@Chubbchubb
heb het geprobeerd in te voeren in VB maar ik ben ook een N00b wat vb betreft en ben dus waarschijnlijk verkeerd te werk gegaan. de gegevens in A zijn uiteraard niet hetzelde als in C

PSN: sjaak99 //


Acties:
  • 0 Henk 'm!

  • job
  • Registratie: Februari 2002
  • Laatst online: 18-05 21:23

job

m-unit schreef op dinsdag 12 juni 2007 @ 10:19:
[...]


@JobHet is een adressenlijst en het lijkt mij wel mooi en handig als de gebruikers een naam intypen van degene die ze zoeken, en dat dan de informatie van diegene op 1 of andere manier duidelijk wordt gemaakt.
Daar zou je dan eigenlijk access voor moeten gebruiken :P
Maar wat je wil kan prima met excel en vert.zoeken.

Ik moet nu weg, anders had ik de functie voor je uitgeschreven.
Iemand anders die wat verstand heeft van excel kan waarschijnlijk ook wel voor je brouwen :)
vb lijkt me wat overdreven voor iets wat standaard al wel in excel zit.

[ Voor 22% gewijzigd door job op 12-06-2007 10:23 ]


Acties:
  • 0 Henk 'm!

  • Chubbchubb
  • Registratie: September 2003
  • Laatst online: 24-03-2021

Chubbchubb

Blond en lekker? Mail me

OK, wanneer je een commandbutton aanmaakt kun je met:
code:
1
2
3
4
5
6
7
Private Sub CommandButton1_Click()
Dim TmpColumn As Range

Set TmpColumn = Worksheets("Sheet1").Columns("A").Find(Worksheets("Sheet1").Cells(3, "C").Value, lookat:=xlWhole, after:=Worksheets("Sheet1").Cells(5, "A"))

Worksheets("Sheet1").Cells(4, "C") = Worksheets("Sheet1").Cells(TmpColumn.Row, "B")
End Sub

iets opzoeken in rij A wat je hebt geschreven in cell C3
cell C4 geeft dan na klikken op de knop wat in de cell in rij B staat.
hoe je een knop moet maken staat vast wel ergens uitgelegd op google.

edit: Voor adressen ed. is access idd een stuk handiger en geeft meer opties.

[ Voor 6% gewijzigd door Chubbchubb op 12-06-2007 10:23 ]

Powered by: blond bier


Acties:
  • 0 Henk 'm!

  • chicky
  • Registratie: Augustus 2001
  • Laatst online: 31-03 19:18
ik denk ook dat Job een goede oplossing heeft. Om het wat mooier te maken, zou je een combobox kunnen maken en die vullen met de reeks waaruit je kan kiezen en dan de resultaten in een aantal aparte cellen weergeven.

Het idee van jou om vanuit de invoercel, in de sheet te gaan zoeken en dat de resultaten te laten oplichten, zal je echt in VB moeten maken

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Het is een adressenlijst en het lijkt mij wel mooi en handig als de gebruikers een naam intypen van degene die ze zoeken, en dat dan de informatie van diegene op 1 of andere manier duidelijk wordt gemaakt.
Waarom dan gebruik maken van Excel ipv. een "echte"?

Maar de opmerking van job blijft terecht: je kunt dit met vlookup best aan de praat krijgen. In D5 t/m X5 kijk je wat er in C5 staat en zoekt daarbij de juiste NAW. Ga een beetje spelen met de F1-uitleg en willekeurige voorbeelden hier op GoT erbij en volgens mij is het dan prima te doen.

offtopic:
'Zoeken in Excel *speciaal' is incorrect en een beetje overdreven aandachtvragend zo in de topictitel, ik pas de titel dus wat aan zdd. het meer beschrijft wat je vraagt.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • m-unit
  • Registratie: April 2004
  • Laatst online: 08-05 16:38

m-unit

PSN: sjaak99 //

Topicstarter
bedankt voor jullie reacties,

ik ga ze allemaal even op me in laten werken en daarna kijken welke ik begrijp :$

u hoort van mij

PSN: sjaak99 //


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

:)
Laat je het resultaat tzt. nog even weten als het is gelukt? Anders denken we graag mee als je ergfens vast loopt.
offtopic:
Overigens hopen anderen n.a.v. Anoniem: 207422 in "office 2007 install foutmelding" ook nog op feedback ;)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • m-unit
  • Registratie: April 2004
  • Laatst online: 08-05 16:38

m-unit

PSN: sjaak99 //

Topicstarter
F_J_K schreef op dinsdag 12 juni 2007 @ 10:35:
:)
Laat je het resultaat tzt. nog even weten als het is gelukt? Anders denken we graag mee als je ergfens vast loopt.
offtopic:
Overigens hopen anderen n.a.v. Anoniem: 207422 in "office 2007 install foutmelding" ook nog op feedback ;)
Ik denk dat de ''acces" optie vervalt want een aantal van de gebruikers is al trots op zichzelf als ze hun mail hebben kunnen lezen, dus ik houd het graag simpel, en om ze nu ook nog beknopt wegwijs te maken met acces zie ik niet gebeuren. ik houd jullie op de hoogte

*racet naar "office 2007 install foutmelding''

PSN: sjaak99 //


Acties:
  • 0 Henk 'm!

  • m-unit
  • Registratie: April 2004
  • Laatst online: 08-05 16:38

m-unit

PSN: sjaak99 //

Topicstarter
Chubbchubb schreef op dinsdag 12 juni 2007 @ 10:22:
OK, wanneer je een commandbutton aanmaakt kun je met:
code:
1
2
3
4
5
6
7
Private Sub CommandButton1_Click()
Dim TmpColumn As Range

Set TmpColumn = Worksheets("Sheet1").Columns("A").Find(Worksheets("Sheet1").Cells(3, "C").Value, lookat:=xlWhole, after:=Worksheets("Sheet1").Cells(5, "A"))

Worksheets("Sheet1").Cells(4, "C") = Worksheets("Sheet1").Cells(TmpColumn.Row, "B")
End Sub

iets opzoeken in rij A wat je hebt geschreven in cell C3
cell C4 geeft dan na klikken op de knop wat in de cell in rij B staat.
hoe je een knop moet maken staat vast wel ergens uitgelegd op google.

edit: Voor adressen ed. is access idd een stuk handiger en geeft meer opties.
Ik heb op google gekeken hoe ik een commandbutton moet maken, maar eerlijk gezegd snap ik er niet zoveel van.
ik ben nu via extra/macro/visual basic editor aangekomen in Visual basic en heb nu dus een leeg VB scherm voor me, hoe ga ik nu te werk? waar en hoe voor ik jou code in enz?

PSN: sjaak99 //


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

m-unit schreef op dinsdag 12 juni 2007 @ 10:40:
[...]


Ik denk dat de ''acces" optie vervalt want een aantal van de gebruikers is al trots op zichzelf als ze hun mail hebben kunnen lezen, dus ik houd het graag simpel, en om ze nu ook nog beknopt wegwijs te maken met acces zie ik niet gebeuren. ik houd jullie op de hoogte
Dat kan je in Excel ook wel zo krijgen (icm wat beveiliging), maar in Access kan dat juist veel mooier en voor de eindgebruiker juist veel simpeler. Ze hebben alleen maar een invoerscherm en zien de achterliggende data helemaal niet. Leuke van Access is ook dat je eenvoudiger een "database" kan hebben met alle gegevens die iedereen kan uitlezen. En dat je een interface kan bouwen waar men zelf namen kan toevoegen (die je evt. dan voor "publicatie" nog even kan laten goedkeuren ook).

Je kan met Access alleen minder makkelijk ad-hoc iets bouwen dan in Excel, je moet er goed over nadenken - het is dan ook aan te raden er bijv. een boek over te kopen voor je echt begint. Maar Access is imho wel beter passend een voor de eindgebruiker eenvoudiger dan Excel. Kost wel meer, als je niet al de licenties hebt...
*racet naar "office 2007 install foutmelding''
:)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Chubbchubb
  • Registratie: September 2003
  • Laatst online: 24-03-2021

Chubbchubb

Blond en lekker? Mail me

mja, omdat ik goed uitgeslapen ben:
knop aanmaken:
view - toolbars - control toolbox
links vierde knop van boven (command button) en dan ergens op het werkblad klikken, daar staat nu een commandbutton.
dubbel klik op die commandbutton en dan zou je een VB scherm moeten krijgen, de code plakken in het rechterscherm.
Als je klaar bent moet je op exit design mode klikken in de control toolbox, dan pas werkt je knop en macro.

Die code zoekt ook naar precies hetzelfde, de input moet dus kloppen, je kunt minder precies gaan zoeken door lookat:=xlWhole weg te halen maar dan krijg je problemen als:
iemand zoekt naar Pieters, Z
Wanneer er in je bestand ook een Pieters, A is, dan geeft excel zonder die lookat:=xlWhole gewoon Pieters, A ipv. Pieters, Z.
Tweede probleem, een foute input, Peiters, A zal een mooie error geven. Dit is op te lossen door
code:
1
2
3
4
5
If TmpColumn Is Nothing Then
    MsgBox ("Verkeerde input")
Else
    Worksheets("Sheet1").Cells(4, "C") = Worksheets("Sheet1").Cells(TmpColumn.Row, "B")
end if


Maar voor adreslijsten ed. is access echt een betere oplossing. Met weinig adressen werkt excel wel nog redelijk maar voor 100+ adressen zou ik het niet meer gebruiken.

[ Voor 48% gewijzigd door Chubbchubb op 12-06-2007 11:26 ]

Powered by: blond bier


Acties:
  • 0 Henk 'm!

  • m-unit
  • Registratie: April 2004
  • Laatst online: 08-05 16:38

m-unit

PSN: sjaak99 //

Topicstarter
Chubbchubb schreef op dinsdag 12 juni 2007 @ 11:15:
mja, omdat ik goed uitgeslapen ben:
knop aanmaken:
view - toolbars - control toolbox
links vierde knop van boven (command button) en dan ergens op het werkblad klikken, daar staat nu een commandbutton.
dubbel klik op die commandbutton en dan zou je een VB scherm moeten krijgen, de code plakken in het rechterscherm.
Als je klaar bent moet je op exit design mode klikken in de control toolbox, dan pas werkt je knop en macro.

Die code zoekt ook naar precies hetzelfde, de input moet dus kloppen, je kunt minder precies gaan zoeken door lookat:=xlWhole weg te halen maar dan krijg je problemen als:
iemand zoekt naar Pieters, Z
Wanneer er in je bestand ook een Pieters, A is, dan geeft excel zonder die lookat:=xlWhole gewoon Pieters, A ipv. Pieters, Z.
Tweede probleem, een foute input, Peiters, A zal een mooie error geven. Dit is op te lossen door
code:
1
2
3
4
5
If TmpColumn Is Nothing Then
    MsgBox ("Verkeerde input")
Else
    Worksheets("Sheet1").Cells(4, "C") = Worksheets("Sheet1").Cells(TmpColumn.Row, "B")
end if


Maar voor adreslijsten ed. is access echt een betere oplossing. Met weinig adressen werkt excel wel nog redelijk maar voor 100+ adressen zou ik het niet meer gebruiken.
Ben blij dat je uitgeslapen bent ;)
ik heb gedaan wat je zei, en ik heb ook de input error code erin toegevoegd.

ik heb nu dus het volgende staan
code:
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub CommandButton1_Click()
Dim TmpColumn As Range

Set TmpColumn = Worksheets("Sheet1").Columns("A").Find(Worksheets("Sheet1").Cells(3, "C").Value, lookat:=xlWhole, after:=Worksheets("Sheet1").Cells(5, "A"))

Worksheets("Sheet1").Cells(4, "C") = Worksheets("Sheet1").Cells(TmpColumn.Row, "B")
If TmpColumn Is Nothing Then
    MsgBox ("Verkeerde input")
Else
    Worksheets("Sheet1").Cells(4, "C") = Worksheets("Sheet1").Cells(TmpColumn.Row, "B")
End If
End Sub


alleen ik krijg de foutmelding: Fout 9 tijdens uitvoering
het subscript valt buiten het bereik


ik klik op foutopsporing en dan wordt de regel met Set TmpColumn geel


ps: het gaat om een lijst met minder dan 100 personen

PSN: sjaak99 //


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Heet je sheet wel Sheet1? (Heb je een Engelstalge Office?) Dergelijke verwijzingen moet je specifiek voor jouw sheet goed zetten.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • m-unit
  • Registratie: April 2004
  • Laatst online: 08-05 16:38

m-unit

PSN: sjaak99 //

Topicstarter
F_J_K schreef op dinsdag 12 juni 2007 @ 11:38:
Heet je sheet wel Sheet1? (Heb je een Engelstalge Office?) Dergelijke verwijzingen moet je specifiek voor jouw sheet goed zetten.
oh god natuurlijk :( dat was ik dus vergeten te melden in mijn OP
ja een nederlandse versie.


man you must hate me by now :+

PSN: sjaak99 //


Acties:
  • 0 Henk 'm!

  • Zeror
  • Registratie: September 2003
  • Laatst online: 18:04

Zeror

Ik Henk 'm!

job schreef op dinsdag 12 juni 2007 @ 10:22:
[...]
Daar zou je dan eigenlijk access voor moeten gebruiken :P
Precies.
En dan kan je het excel bestand als bronbestand gebruiken :)

Trans-life! :::: Nintendo ID: Zeror_rk / SW-6670-3316-6323 :::: BattleTag: Zeror#2996 :: Twitch: Z3ROR


Acties:
  • 0 Henk 'm!

  • Chubbchubb
  • Registratie: September 2003
  • Laatst online: 24-03-2021

Chubbchubb

Blond en lekker? Mail me

En je moet ook wel iets in kolom A, B vanaf rij 5 en cell C3 zetten.
en de 6de regel in je code mag je weglaten want die staat op regel 10

[ Voor 34% gewijzigd door Chubbchubb op 12-06-2007 11:45 ]

Powered by: blond bier


Acties:
  • 0 Henk 'm!

  • m-unit
  • Registratie: April 2004
  • Laatst online: 08-05 16:38

m-unit

PSN: sjaak99 //

Topicstarter
wat moet ik in deze regel allemaal vernederlandseren?
code:
1
Set TmpColumn = Worksheets("Sheet1").Columns("A").Find(Worksheets("Sheet1").Cells(3, "C").Value, lookat:=xlWhole, after:=Worksheets("Sheet1").Cells(5, "A"))

PSN: sjaak99 //


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Alles dat tussen aanhalingstekens staat :P

Maar dit gaat je wellicht nooit lukken als die die beginselen van VBA of ueberhaubt "programmeren" nog niet kent. VBA lijkt me dan niet de weg te gaan voor je - behalve als je eerst even een goed VBA-boek leest en dan pas verder gaat.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • m-unit
  • Registratie: April 2004
  • Laatst online: 08-05 16:38

m-unit

PSN: sjaak99 //

Topicstarter
F_J_K schreef op dinsdag 12 juni 2007 @ 12:28:
Alles dat tussen aanhalingstekens staat :P

Maar dit gaat je wellicht nooit lukken als die die beginselen van VBA of ueberhaubt "programmeren" nog niet kent. VBA lijkt me dan niet de weg te gaan voor je - behalve als je eerst even een goed VBA-boek leest en dan pas verder gaat.
Then i pull the plug, geen tijd om een boek te gaan lezen en mij erin te verdiepen, iedereen die gepost heeft, bedankt!

PSN: sjaak99 //


Acties:
  • 0 Henk 'm!

  • job
  • Registratie: Februari 2002
  • Laatst online: 18-05 21:23

job

Zonde om er mee te stoppen :P
Zo uit m'n hoofd zou deze functie moeten doen wat je wilt.

Wel een aantal aanpassingen daarop.. want zoals je nu je gegevens hebt staan (A 5/52 tot kolom D 5/52) kan je natuurlijk nooit iets invoeren in vak C5.
Dus die data zet je op een eigen sheet.
Dan zou het met deze funcie moeten werken:

=VERT.ZOEKEN(C5;Sheet2!A5:D55;2;ONWAAR)

C5, is dus het veld waarmee je gaat zoeken.
Sheet2 moet je hernoemen zoals de sheet bij jou heet.
A5:D52 is dus de data waarin je zoekt.
2 is de kolom waaruit de functie de data haalt.
het laatste deel kan je gewoon op onwaar laten staan.

Wat die 2e kolom betreft.
Stel kolom 1 (in jouw geval A) is de voornaam, kolom 2 (in jouw geval B ) is de achternaam, kolom 3 (in jouw geval C) is het telefoonnummer..
Dan geeft de functie zoals ik hem je voorschrijf dus als je C5 de voornaam invult.. de achternaam weer. Wil je niet de achternaam maar het telefoonnummer laten zien dan verander je de 2 in een 3.
Wil je alle data zien, dan zet je dus meerdere zoekfuncties naastelkaar (een voor elke kolom).

Het probleem met deze functie is dat als je niets invult hij een foutmelding geeft.
Dat kan je eenvoudig oplossen door er dit van te maken:

=ALS(C5="";"";VERT.ZOEKEN(C5;Sheet2!A5:D55;2;ONWAAR)

[ Voor 7% gewijzigd door job op 12-06-2007 13:29 ]


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

^^ Inderdaad is het zoals ik in het begin al zei zonder VBA volgens mij ook wel (met wat denkwerk) te doen.

Maar een goed boek lezen over het gebruik van VBA kan hoe dan ook helemaal geen kwaad als je vaker met Office werkt.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • m-unit
  • Registratie: April 2004
  • Laatst online: 08-05 16:38

m-unit

PSN: sjaak99 //

Topicstarter
F_J_K schreef op dinsdag 12 juni 2007 @ 13:35:
^^ Inderdaad is het zoals ik in het begin al zei zonder VBA volgens mij ook wel (met wat denkwerk) te doen.

Maar een goed boek lezen over het gebruik van VBA kan hoe dan ook helemaal geen kwaad als je vaker met Office werkt.
jij met je boeken :P aandelen wolters ofzo? 8)


maar ik ga zeker wat met jullie tips doen

[ Voor 6% gewijzigd door m-unit op 12-06-2007 13:51 ]

PSN: sjaak99 //

Pagina: 1