[VB6] Excel cell coordinaten opvragen

Pagina: 1
Acties:
  • 108 views sinds 30-01-2008

  • freeco
  • Registratie: Juni 2001
  • Laatst online: 14-08 19:50
Ik wil het volgende doen:

met een serienummer dat ik ophaal uit een database, moet ik nog wat extra info uit een excelblad halen.

Ik kan al via VB6 het serienummer localiseren in het excelblad door de "Find" te programmeren:

code:
1
2
3
4
moReportFile.Sheets("Sheet1").Cells.Find(What:="" & sSerial & "", _ 
   After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
   SearchOrder:=xlByRows, SearchDirection:=xlNext, _
   MatchCase:=False).Activate

Nu dat serienummer gevonden is, moet ik een aantal kolommen opschuiven en 3 veldjes uitlezen. De code voor het uitlezen is ook geen probleem.
Ik heb hier echter de coordinaten van het serienummer nodig: "row:column" en dat vind ik nu niet hoe ik dat moet opvragen. Na .Sheets("Sheet1") werkt de IntelliSense niet meer en in de MSDN vind ik ook niet onmiddellijk hoe ik dit kan opvragen.

Met welke property van cells bekom ik de coordinaat van de geselecteerde cell?

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Heb je het uberhaupt geprobeerd?
Mijn eerste gok is address, probeer die eens

[ Voor 1% gewijzigd door kvdveer op 28-01-2003 10:35 . Reden: spell-fix ]

Localhost, sweet localhost


Verwijderd

een rij nummer vinden is gewoon een excell functie. Waarom gebruik je die niet en haal je het antwoord met VB uit je Excel sheet

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

kvdveer schreef op 28 januari 2003 @ 10:33:
Mijn eerste gok is address, probeer die eens
Je kan idd address gebruiken (resultaat bijv.: $G$14)
Maar als je zeker weet dat die andere velden 3 kolommen naast je zoekresultaat zitten, dan kan je ook

code:
1
cells.Offset ([RowOffset],[ColumnOffset])


gebruiken

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • freeco
  • Registratie: Juni 2001
  • Laatst online: 14-08 19:50
ja, tuurlijk heb ik het geprobeerd! gisteren een uurtje verloren met zoeken...

iets in de aard van: moReportFile.Sheets("Sheets1").ActiveCell.Address ? Hoe vang ik dat nu op in een variabele? Blijkbaar is er toch nog iets fout, want ik krijg er een fout op.

SanMan4u, met VB omdat het moet gedaan worden voor 2000 serienummers. Geen zin om dat manueel allemaal te copieren...

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Je kan het resultaat toch gewoon in een variabele stoppen?

code:
1
beginAddress = Selection.Address


Code is btw vba

[ Voor 16% gewijzigd door BtM909 op 28-01-2003 10:43 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • freeco
  • Registratie: Juni 2001
  • Laatst online: 14-08 19:50
code:
1
sAddress = moReportFile.Sheets("Sheets1").Selection.Address

geeft "subscript out of range"

edit:
tja, tis de eerste keer dat ik via VB iets UIT excel haal. Tot noch toe was het altijd iets IN excel dumpen... :/

[ Voor 42% gewijzigd door freeco op 28-01-2003 10:44 ]


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

freeco schreef op 28 January 2003 @ 10:40:
ja, tuurlijk heb ik het geprobeerd! gisteren een uurtje verloren met zoeken...

iets in de aard van: moReportFile.Sheets("Sheets1").ActiveCell.Address ? Hoe vang ik dat nu op in een variabele? Blijkbaar is er toch nog iets fout, want ik krijg er een fout op.

SanMan4u, met VB omdat het moet gedaan worden voor 2000 serienummers. Geen zin om dat manueel allemaal te copieren...
Ik neem aan dat je een grapje maakt? Heb je ooit eerder wat gedaan in VBA? Heb je weleens overwogen om dat in een variabele te stoppen met de = operator?
PAK JE MANUAL!

Localhost, sweet localhost


  • freeco
  • Registratie: Juni 2001
  • Laatst online: 14-08 19:50
ja, da's nu eenmaal het probleem: die = operator blijkt niet te werken! Ik krijg er die error op... Blijkbaar heb ik de verkeerde property van de geselecteerde cell

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Het is behoorlijk jammer dat er momenteel geen moderators zijn, maar weet je zeker dat die error veroorzaakt wordt door die = operator? (Ik eet mijn grootmoeder op als dat zo is...)

[hint]
Heb jij toevallig een sheet genaamd "Sheets1" in je excelfile?
[/hint]

* kvdveer tip: Ga ZELF zoeken. We zijn niet je debug-slaafjes. Probeer eerst eens wat uit. Maak eens een testprogrammatje.

Localhost, sweet localhost


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12:28

Janoz

Moderator Devschuur®

!litemod

Subscript out of range lijkt me een duidelijke foutmelding. Bedenk dat dat statement ook eerder mis kan gaan.

Ik raad je aan om ff een boek te halen of te leren omgaan met MSDN.

@kvdveer : Rustig maar.. neem je valium ;)

[ Voor 12% gewijzigd door Janoz op 28-01-2003 10:57 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.