Toon posts:

[Excel] Macro om data toe te voegen in lijst

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

Verwijderd

Topicstarter
Hallo!!
Ik heb een hele lijst met afkortingen in excel staan. Dit houdt in dat in de eerste kolom (A) de beginletter staat, in de 2e de afkorting en in de derde de betekenis hiervan.
Dus bijvoorbeeld:
A ABS Anti Blokker Systeem
B BGA Bere Goeie Afkorting
etc......

Wanner ik op dit moment een afkorting toevoeg dan zoek ik de laatste lege rij, zet 'm daar in, selecteer de hele bende en laat sorteren op kolom B. dan staat alles immers weer op alfabetische volgorde.
Aangezien het lijstje nu wel erg lang wordt, en ik vaak ver moet scrollen om iets toe te voegen, ben ik gaan proberen om een macro te schrijven waarmee ik gegevens, die ik bovenaan invul (bijvoorbeeld in cel e1 de beginletter, e2 de afkorting en e3 de betekenis), na een druk op de knop in de lijst kan laten verschijnen. Het probleem wat ik hierbij ondervind is dat er in de macro gezocht moet worden naar de eerstvolgende lege cel onderaan, waarnaar deze gegevens moeten worden verplaatst. Ik heb commando Ga naar.... geprobeerd, maar dat leverde mij niks op. Het sorteren etc. na het onderaan krijgen van de gegevens is geen probleem.
Kan iemand mij helpen met de truck om altijd de volgende lege cel onderaan te kunnen vinden?? Alvast bedankt,
Jeff

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

code:
1
Selection.End(xlDown).Select


Tip: neem voortaan eens een macro op en kijk hoe excel het zelf doet.
kostte mij in totaal 10 seconden...

[ Voor 68% gewijzigd door BtM909 op 20-03-2003 11:41 ]

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.


  • KeeZ
  • Registratie: Februari 2001
  • Laatst online: 25-04-2022

KeeZ

Deze plek is te koop.

jeps... macrotje opnemen en die mollen werkt het snelst in alle office progsels...

* KeeZ moet nog denken aan de tijd dat hij 2 uur heeft lopen zoeken voor een simpel access scriptje...

Deze plek is te koop.


Verwijderd

Daar hebben ze toch access enzo voor bedacht?

Verwijderd

Topicstarter
Access heb ik helaas niet op mijn werkplek.....

Wanneer ik een macro opneem kopieer ik de nieuw ingevulde velden (dus e1 tm e3 in dit geval) en plak ze dan getransponeerd in de onderste vrije regel (bijvoorbeeld rij 130). Daarna even sorteren en de cellen e1 tm e3 schoonmaken en ik ben klaar..... Alleen zal ik bij de volgende invoeractie de cellen niet in bijvoorbeel A130 willen gaan plakken, want die is nu al vol, dus moet het A131 worden.... De macro zal dus moeten zoeken naar de eerstvolgende vrije cel.......
En dat opnemen lukt me helaas niet in 10 seconden....

iemand een oplossing?

Verwijderd

Sub test()
'Aanname: A1:C1 bevatten kolomkoppen
L = Range("A" & 65536).End(xlUp).Row + 1
Range("A" & L & ":C" & L) = WorksheetFunction.Transpose(Range("E1:E3"))
Columns("A:C").Select
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A1").Select
Range("E1:E3").ClearContents
End Sub

[ Voor 17% gewijzigd door Verwijderd op 20-03-2003 17:42 ]


Verwijderd

Je zou ook kunnen maken:

tel = 1
int:
if range("A" & tel).value = "" then goto gevonden
tel = tel + 1
goto int

gevonden:
msgbox "A" & tel (waarbij "tel" uiteraard de lege cel is)

iets omslachtiger maar werkt bij mij altijd perfect !!

[ Voor 30% gewijzigd door Verwijderd op 20-03-2003 20:56 ]

Pagina: 1