• 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.

gegevens overnemen van ander tabblad

Status
Niet open voor verdere reacties.

patje8

Gebruiker
Lid geworden
31 jul 2005
Berichten
436
Is het mogelijk om gegevens van een ander tabblad over te nemen via een macro?

Heb al eens gezocht op het forum maar vind niet direct een oplossing.

Het is de bedoeling dat de kolommen A tot F van Blad1 naar de kolommen A tot F naar Blad2 worden overgezet via een macro.
De lege cellen mogen niet overgenomen worden.
 

Bijlagen

Met onderstaande code kan je een range aangeven (adapted from R. de Bruin). Wat je echter nog moet invoegen is de code voor het overslaan van lege cellen.

Succes.

HTML:
 Dim SourceRange As Range, DestRange As Range
    Dim DestSheet As Worksheet, Lr As Long

    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    'fill in the Source Sheet and range
    Set SourceRange = Sheets("Sheet1").Range("A1:K1")

    'Fill in the destination sheet and call the LastRow
    'function to find the last row
    Set DestSheet = Sheets("Sheet2")
    Lr = LastRow(DestSheet)

    'With the information from the LastRow function we can create a
    'destination cell
    Set DestRange = DestSheet.Range("A" & Lr + 1)

    'We make DestRange the same size as SourceRange and use the Value
    'property to give DestRange the same values
    With SourceRange
        Set DestRange = DestRange.Resize(.Rows.Count, .Columns.Count)
    End With
    DestRange.Value = SourceRange.Value

    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With

End Sub
 
Ja, ik heb blad1, blad2 en blad3

Dat gaat niet werken.
Sheet2 in de code is hardgecodeerd alszijnde de sheetnaam.


Verander het in:

Sheets(2) ' 2e sheet

of

Sheets("Blad2") 'Sheet genaamd Blad2

Met vriendelijke groet,


Roncancio
 
Ik heb de code aangepast en nu werkt het naar behoren.
De gegevens van de 1e regel wordt gekopieerd naar de eerstvolgende lege regel.

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Bedankt dit werkt perfect :thumb:

Hij neemt nog wel de lege rijen mee over en dat moet niet, hoe moet ik dat dan doen?
 
Weet er niemand een oplossing?

Ik heb het bestand aangepast waardoor de gegevens uit blad1 in blad 2 terechtkomen.
De lege cellen worden overgeslagen.

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
De volledige exercitie:

Code:
Sub Macro2()
  With Sheets("Blad2")
    Sheets("Blad1").UsedRange.Copy .Cells(Rows.Count, 1).End(xlUp).Offset(1)
    For Each cl In .Columns(1).SpecialCells(xlCellTypeConstants)
        If cl.Value = "" Then cl.Clear
    Next
    .Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  End With
End Sub
 
Nu zet hij de gegevens vanaf kolom E tot kolom J over naar kolom E tot kolom J in het ander tabblad maar is het mogelijk om deze gegevens naar kolom A tot kolom F toe te voegen?
 

Bijlagen

Code:
Worksheets(2).Cells(lSRij, lkol[B] - 4[/B]).Value = Worksheets(1).Cells(lRij, lkol).Value
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan