• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Kun je een macro meerdere keren achter elkaar gebruiken

Status
Niet open voor verdere reacties.

maxpaynelive

Gebruiker
Lid geworden
19 sep 2013
Berichten
8
Beste lezer,

Ik heb een macro gemaakt die gegevens kopieërd van 9 bladen naar een één blad.
En de gegevens netjes op de juiste plek wegzet.

Ik moet voor elke keer als ik de marco gebruik 3 variable invullen. Dat is veel schrijfwerk. Kan dit sneller / korter?

Alvast bedankt.

De variable
sheetdata = excel werkblad (waar de gegevens staan)
Kolomhoofd = naam van de kolom (waar de gegevens staan)
plaatswaarde = rij van de kolom (range waar de gegevens naar toe worden gekopieerd)

Dit is de tabel (voor elke range moet ik mijn variable aanpassen)
Table Groen = range.jpg


Dit is de macro

Code:
Sub Inladendatabase()

'Handle
Dim sheetdata As String
Dim Kolomhoofd As String
Dim plaatswaarde As String

sheetdata = Worksheets("blad2").Range("C4").Value
Kolomhoofd = Worksheets("blad2").Range("B5").Value
plaatswaarde = Worksheets("blad2").Range("C5").Value

    Sheets(sheetdata).Select
    
    Cells.Find(What:=Kolomhoofd, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
        
    Range(ActiveCell, ActiveCell.Offset(2000, 0)).Copy
    
    Sheets("AAAA").Select
    Range(plaatswaarde).PasteSpecial Paste:=xlPasteValues

End Sub
 

Bijlagen

Laatst bewerkt door een moderator:
ja, het kan eenvoudiger, jouw methode is nogal omslachtig, maar kan je geen beter voorbeeldje posten ipv. plaatjes. Dat werkt niet zo handig.
 
Methode is mischien omslachtig maar;
Als je de tabel bekijkt:
De macro die ik nu gemaakt heb kan voor elke range gebruikt worden.

Ik moet alleen steeds de strings opnieuw dimensoneren. Kan dit sneller of handiger?

Hieronder het bestand, gezien de grote heb ik alleen de nodige gegevens er in gezet.
Bekijk bijlage Test V0035 Verzonden v13.xlsm
 
Kun je VBA code svp tussen code tags zetten ?

Bijv.

Code:
Sub Inladendatabase()
    With Sheets("Blad2")
        Sheets("AAAA").Range(.Range("C5").Value).Resize(2000) = Sheets(.Range("C4").Value).Rows(1).Find(.Range("B5").Value, , , xlPart).Resize(2000).Value
    End With
End Sub
 
Laatst bewerkt:
zie bijlage, even op het groene knopje drukken.
Zo lees je alle gegevens in, maar hoe je dan naar je plaatje van blad2 gaat, dat ontgaat me.
Wat in AAAA staat is een tabel, dat werkt gemakkelijker.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan