[excell] Macro gegevens laten plakken in lege rij

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

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dinictus208
  • Registratie: November 2000
  • Niet online
Ben bezig met een korte macro die gegevens van de ene file kopieerd naar de andere. Mijn mensen vullen een schema in met productinformatie en ik beheer een file met alle informatie samen. Nu wil ik als een collega de eerste file invult een automatische update van de totale file.

Heb een macro gemaakt die de data ordent en kan plakken als ze eerste file afgesloten wordt. Echter de plek waar de gegevens moeten komen in de total file varieërt natuurlijk omdat er steeds meer gegevens bijkomen.

Is er een vb statement waarmee je kan aangeven dat hij de data moet pasten in de eerst rij waarbij cell 1 tm 10 leeg zijn? Ik hoop dat iemand me op weg kan helpen.

Thnks.

I could feel at the time There was no way of knowing Fallen leaves in the night Who can say where they're blowing As free as the wind And hopefully learning Why the sea on the tide Has no way of turning


Acties:
  • 0 Henk 'm!

  • JeroenE
  • Registratie: Januari 2001
  • Niet online
Is er een vb statement waarmee je kan aangeven dat hij de data moet pasten in de eerst rij waarbij cell 1 tm 10 leeg zijn? Ik hoop dat iemand me op weg kan helpen.
Het is een beetje afhankelijk van je worksheet wat de makkelijkste manier is. Als je er van uit kan gaan dat de eerste kolom altijd is gevuld (en je hebt minstens twee kolommen met data) dan kan je heel simpel dit gebruiken.
code:
1
2
3
Range("A1").Activate
Selection.End(xlDown).Activate
ActiveCell.Offset(1, 0).Activate

Dat is niets meer dat de eerste cell in de worksheet aanklikken, op Ctrl+"pijltje naar beneden" duwen en daarna nog een keer op "pijltje naar beneden" duwen.

Als de rest van de worksheet niet gevuld is (maw kolom 11 en verder), maar er is altijd minstens 1 van de kolommen 1 t/m 10 gevuld (maar dus niet altijd kolom 1) dan kan je onderstaande code gebruiken om de juiste regel te vinden. Dat werkt overigens alleen als er in A1, A2, B1 of B2 wat ingevuld is.
code:
1
2
3
Range("A1").Activate
ActiveCell.CurrentRegion.Select
ActiveCell.Offset(ActiveSheet.UsedRange.Rows.Count, 0).Activate

Als de rest van de sheet wel gevuld is dan zal je wat meer moeite moeten doen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim r As Long
Range("A1").Activate
For r = 1 To 65536
    If Not IsEmpty(ActiveCell) Then
      ActiveCell.Offset(1, 0).Activate
    Else
      If IsEmpty(ActiveCell) And IsEmpty(ActiveCell.Offset(0, 1)) And _
         IsEmpty(ActiveCell.Offset(0, 2)) And IsEmpty(ActiveCell.Offset(0, 3)) And _
         IsEmpty(ActiveCell.Offset(0, 4)) And IsEmpty(ActiveCell.Offset(0, 5)) And _
         IsEmpty(ActiveCell.Offset(0, 6)) And IsEmpty(ActiveCell.Offset(0, 7)) And _
         IsEmpty(ActiveCell.Offset(0, 8)) And IsEmpty(ActiveCell.Offset(0, 9)) _
      Then
        Exit For
      Else
        ActiveCell.Offset(1, 0).Activate
      End If
    End If
Next r

Afhankelijk hoe je data er uit ziet heeft het testen op de eerste kolom voordat de rest van de kolommen wordt bekeken natuurlijk niet veel zin.

Na het uitvoeren van deze procedures zal de ActiveCell de eerste cell zijn die aan jouw criteria voldoet. Ik neem aan dat het pasten wel lukt?

Ohja, ik gebruik Excel 2000, maar volgens mij werkt het ook wel in andere versies.

Acties:
  • 0 Henk 'm!

  • Dinictus208
  • Registratie: November 2000
  • Niet online
He thnks,

Hier kan ik wel wat mee. Ik ga eens even stoeien.

I could feel at the time There was no way of knowing Fallen leaves in the night Who can say where they're blowing As free as the wind And hopefully learning Why the sea on the tide Has no way of turning


Acties:
  • 0 Henk 'm!

  • dzadzaT
  • Registratie: April 2020
  • Laatst online: 10-12-2020
Beste, ik probeer gegevens vanuit een bepaald veld te plakken in een soort logboek.
ik heb een invulveld met daarnaast twee knoppen. Eén knop kopieert de waarde uit het invulveld en zet deze in de eerste rij op een ander tabblad. De tweede knop haalt het invulveld weer leeg.

Vervolgens wil ik een nieuwe waarde invullen en deze moet onder de al geplakte waarde (dus in de volgende rij op het andere tabblad) worden ingevuld. Hoe krijg ik dat voor elkaar in een macro?

De macro moet zien dat er al een waarde bestaat in de eerste rij en daarom de waarde in de volgende rij plakken. Dit moet zo een soort van logboek gaan vormen in de toekomst.
hoor zeer graag!!

Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 01:36

g0tanks

Moderator CSA
dzadzaT schreef op maandag 6 april 2020 @ 14:40:
Beste, ik probeer gegevens vanuit een bepaald veld te plakken in een soort logboek.
ik heb een invulveld met daarnaast twee knoppen. Eén knop kopieert de waarde uit het invulveld en zet deze in de eerste rij op een ander tabblad. De tweede knop haalt het invulveld weer leeg.

Vervolgens wil ik een nieuwe waarde invullen en deze moet onder de al geplakte waarde (dus in de volgende rij op het andere tabblad) worden ingevuld. Hoe krijg ik dat voor elkaar in een macro?

De macro moet zien dat er al een waarde bestaat in de eerste rij en daarom de waarde in de volgende rij plakken. Dit moet zo een soort van logboek gaan vormen in de toekomst.
hoor zeer graag!!
Welkom op Tweakers. :)

Het is niet de bedoeling om een 18-jaar oud topic omhoog te halen. We hebben liever dat je dan een eigen nieuw topic start. Daarbij verwachten we ook enige eigen inzet, dus geef aan wat je al hebt geprobeerd of gevonden. Dit topic gaat in ieder geval op slot.

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Dit topic is gesloten.