Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: laatste cel zoeken  (gelezen 17060 keer)

0 leden en 1 gast bekijken dit topic.

Offline Danny A

  • Volledig lid
  • **
  • Berichten: 125
  • Geslacht: Man
  • Oplossing.be
laatste cel zoeken
« Gepost op: 13 september 2018, 23:37:10 »
geacht forum,

vraagje : met de event handler worksheet_selectionchange, kan ik info over de laatst geselecteerde cel bekomen, vb rij, kolom,....
hoe kan ik echter info krijgen over de cel die voordien geselecteerd was ?
vb : ik sta in cel A1, en selecteer dan cel B2, target is dan cel B2, maar hoe kan ik bepalen dat ik eerst in cel A1 stond en dan naar B2 gegaan ben ?

bij voorbaat dank
Danny

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.129
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: laatste cel zoeken
« Reactie #1 Gepost op: 14 september 2018, 11:02:19 »
Hallo Danny,

los uit het hoofd even:

je kan een tweede sub() maken waarin je variabelen zet: bvb vorige cel.

Deze variabele laat je aanpassen door in je event handler worksheet_selectionchange() naar de tweede sub() te gaan en daar de huidige cel (A1) op te slaan als varabele. Daarna keer je terug in je event handler worksheet_selectionchange().
Bij de volgende selection Change komt er in de event handler worksheet_selectionchange() A2 te staan als huidige selectie, maar je kan nu de waarde van de vorige positie (A1) ophalen uit de tweede sub()

Helpt dit?

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline lommer

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 132
  • Geslacht: Man
Re: laatste cel zoeken
« Reactie #2 Gepost op: 14 september 2018, 12:11:41 »
Kun je hier iets mee aanvangen?
Standaard emailprogramma: Outlook Express
Standaard Operating System: Windows XP SP2
Standaard Browser:Internet Explorer 6

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: laatste cel zoeken
« Reactie #3 Gepost op: 14 september 2018, 12:16:14 »
Alleen bij de allereerste keer heb je geen gegevens van waar je vandaan bent gekomen...
Public VorigeSelectie As String
Public HuidigeSelectie As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    VorigeSelectie = HuidigeSelectie
    HuidigeSelectie = Target.Address
    MsgBox "Je komt vanaf bereik '" & VorigeSelectie & "' en staat nu op '" & HuidigeSelectie & "'..."
   
End Sub
______________________________

Groet, Leo

Offline Danny A

  • Volledig lid
  • **
  • Berichten: 125
  • Geslacht: Man
  • Oplossing.be
Re: laatste cel zoeken
« Reactie #4 Gepost op: 14 september 2018, 17:04:59 »
beste medewerkers,
Ik ga kijken wat ik hiermee kan, maar heb nu even dringende familiekwesties die even voorgaan, denk dus niet dat ik jullie reacties negeer, ik kom hierop terug
dank bij voorbaat
Danny

Offline Danny A

  • Volledig lid
  • **
  • Berichten: 125
  • Geslacht: Man
  • Oplossing.be
Re: laatste cel zoeken
« Reactie #5 Gepost op: 16 september 2018, 01:05:25 »
lommer,
op jouw manier kan ik teruggaan naar vorig geselecteerde cel, maar kan geen eigenschappen hiervan aanpassen, zoals de kleur van de cel
is dit een zelfgemaakte functie ? vind in VBA nergens prevActiveCell  terug
toch bedankt
Danny

Offline Danny A

  • Volledig lid
  • **
  • Berichten: 125
  • Geslacht: Man
  • Oplossing.be
Re: laatste cel zoeken
« Reactie #6 Gepost op: 16 september 2018, 01:08:40 »
Redhead,
jouw versie geeft de huidige cel weer maar vorige selectie is steeds blanco, bovendien heb ik de publics moeten vervangen door dim-statement, anders kreeg ik foutmelding
toch bedankt
Danny

Offline Danny A

  • Volledig lid
  • **
  • Berichten: 125
  • Geslacht: Man
  • Oplossing.be
Re: laatste cel zoeken
« Reactie #7 Gepost op: 16 september 2018, 01:12:06 »
Softaid,
dit zou kunnen helpen, alleen gaat het mijn petje te boven  :-[
maw ik kan het niet in iets bruikbaars omzetten.
evenwel bedankt
Danny

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.129
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: laatste cel zoeken
« Reactie #8 Gepost op: 16 september 2018, 11:52:42 »
Hallo Danny,

RedHead zijn code komt zowat overeen met wat ik in gedachte had, maar hij doet het natuurlijk ;D wat beter en eenvoudiger dan ik het zou kunnen.

Je moet de macro wel in het werkblad in de VBE zetten, niet in een module. En dan natuurlijk WEL "Public ..... As String" gebruiken.

Nu kan je in de macro de eigenschappen opmaken, bijvoorbeeld :

Public VorigeSelectie As String
Public HuidigeSelectie As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    VorigeSelectie = HuidigeSelectie
    HuidigeSelectie = Target.Address
                                 'MsgBox "Je komt vanaf bereik '" & VorigeSelectie & "' en staat nu op '" & HuidigeSelectie & "'..."
   Range(VorigeSelectie).Select
   
         With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 255
            .TintAndShade = 0
            .PatternTintAndShade = 0
         End With
   
  End Sub

Kan je hier op verder borduren?

:) SoftAid :)             

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: laatste cel zoeken
« Reactie #9 Gepost op: 16 september 2018, 12:04:20 »
jouw versie geeft de huidige cel weer maar vorige selectie is steeds blanco

Ehhhh... wáár in je vraagstelling heb je gevraagd om een aanpassing van de "voorgaande" cel? Mijn oplossing doet precies wat je hebt gevraagd in je initiële post, namelijk aangeven wat je bereik was waar je vandaan kwam. Ofwel, wees duidelijk in je vraagstelling en je gaat krijgen waar je om vraagt (óf in elk geval de opzet om te bereiken wat je zou willen).

Dus... Wát wil je nu precies bereiken???
______________________________

Groet, Leo

Offline Danny A

  • Volledig lid
  • **
  • Berichten: 125
  • Geslacht: Man
  • Oplossing.be
Re: laatste cel zoeken
« Reactie #10 Gepost op: 17 september 2018, 14:37:45 »
Redhead, softaid,

wat is er (doe ik)  :) fout in bijlage, krijg gaan vertrekcel en tweede keer foutmelding

mvg
Danny

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: laatste cel zoeken
« Reactie #11 Gepost op: 17 september 2018, 15:59:53 »
Ah, je gebruikt de procedure van SoftAid... Je foutmelding komt door het feit dat daar de vorige cel weer wordt geselecteerd. Ofwel, er wordt wéér een SelectionChange event afgevuurd. Je komt daarmee in een oneindige lus en dat vindt VBA niet zo leuk en klapt na een x aantal iteraties.

EDIT en in dit geval is het nog iets anders... je variabele "VorigeSelectie" is nog een lege string. En die valt niet te selecteren. Maar hoe dan ook zal deze procedure in een lus schieten als ik het zo zie.

Dus... Vertel nu wat je wilt bereiken Danny. Dan hoeven we niet te discussiëren over dit soort zaken.

______________________________

Groet, Leo

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.129
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: laatste cel zoeken
« Reactie #12 Gepost op: 17 september 2018, 18:29:10 »
Hallo RedHead, je hebt gelijk wat betreft de foutmelding.

de code moest zijn

Range(HuidigeSelectie).Select in plaats van
Range(VorigeSelectie).Select
Maar toch, het zou zeker gemakkelijker en duidelijker zijn mochten we weten wat de uiteindelijke bedoeling is...

Danny, in bijlage een werkend voorbeeldbestand.

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Danny A

  • Volledig lid
  • **
  • Berichten: 125
  • Geslacht: Man
  • Oplossing.be
Re: laatste cel zoeken
« Reactie #13 Gepost op: 17 september 2018, 21:07:37 »
geachte cracks,
aangezien ik blijkbaar een beetje onduidelijk ben geweest, hier mijn uiteindelijke doel :
In een tabblad, vb Blad1, kunnen cellen ingevuld worden met een bepaalde code, adh van deze code krijgen deze een opmaak (kleur)
vb V=geel, A=rood, enz.
zodra men in een cel een waarde invult zou deze moeten gekleurd worden in de overeenkomstige kleur, deze zoek ik op via een vlookup-instructie
vandaar dat ik moet weten welke de laatst ingevulde cel was, anders moet ik achteraf het volledige tabblad gaan scannen en cel per cel de kleur aanpassen, wat tijdrovend is.
hopelijk brengt dit enige klaarte in de duisternis ?

alvast bedankt voor de moeite (en frustratie ?)

mvg
Danny


Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: laatste cel zoeken
« Reactie #14 Gepost op: 17 september 2018, 21:25:51 »
Danny, dit is toch een uitgelezen klus voor de Conditional Format (voorwaardelijke opmaak)? Hier doe je nu mijn ogen een héél stuk moeilijker dan dat zou moeten. Maak voor al je codes een VO aan en klaar ben je. Heb je nooit meer omkijken naar...
______________________________

Groet, Leo

 


www.combell.com