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

kopieren tussen worksheets

Status
Niet open voor verdere reacties.

arjancuijpers

Gebruiker
Lid geworden
30 nov 2015
Berichten
30
Beste,

Ik heb heen rekenblad gemaakt waarbij ik op een button kan drukken om gegevens over te halen uit een ander bestand.
Hij opent het bestand netjes en voert een aantal macro's uit om de gegevens bruikbaarder te maken.
Uiteindelijk is de laatste macro (module 5) moet er voor zorgen dat hij een deel kopieert. Echter kopieert hij het geen in het geopende bestand zelf en niet in mijn rekenblad. Hoe kan dit opgelost worden zonder bestandsnaam toe te voegen.
Als uiteindelijk de gegevens juist zijn gekopieerd wil ik door vert.zoeken nog een aantal gegevens overnemen kan dat?

bij voorbaat dank

Met vriendelijke groet,

Arjan Cuijpers

Bekijk bijlage bouwbesluit blad16(uitebreid)4.xls
Bekijk bijlage My ITO Definition 1.xlsx
 
Laatst bewerkt:
Ik snap niet waarom je éénregelige macrootjes op een eigen module zet; lijkt mij nergens voor nodig tenzij je graag klikt :). Ik zou ze dus gewoon allemaal netjes bij elkaar zetten, dat werkt een stuk makkelijker. En dan zo aanpassen:
Code:
Dim ws As Worksheet

Private Sub CommandButton1_Click()
    Set ws = ActiveSheet
    gegevens_ophalen
    Gegevens_verschuiven
    legen_cellen_vullen
    formule_600mm_regel
End Sub

Sub gegevens_overnemen()
    Application.ScreenUpdating = False
    With ws
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        n = .Range("A:C").Cells.SpecialCells(xlCellTypeConstants).Count
        ReDim test(n)
        a = 0
        For x = 1 To lr
            If .Range("A" & x) <> vbNullString Then
                test(a) = .Range("A" & x).Value
                a = a + 1
            End If
        Next
        .Range("A8", "T" & n + 7).Insert shift:=xlDown
        For x = 0 To n - 1
            .Range("A" & x + 8).Value = test(x)
        Next
        .Range("B7", "U" & n + 7).Select
        Selection.FillDown
        With Selection.Borders(xlInsideHorizontal)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
    End With
    Application.Goto reference:=ws.Range("B8"), Scroll:=False
    Application.ScreenUpdating = True
End Sub
 
Ik snap niet waarom je éénregelige macrootjes op een eigen module zet; lijkt mij nergens voor nodig tenzij je graag klikt :). Ik zou ze dus gewoon allemaal netjes bij elkaar zetten, dat werkt een stuk makkelijker. En dan zo aanpassen:
Code:
Dim ws As Worksheet

Private Sub CommandButton1_Click()
    Set ws = ActiveSheet
    gegevens_ophalen
    Gegevens_verschuiven
    legen_cellen_vullen
    formule_600mm_regel
End Sub

Sub gegevens_overnemen()
    Application.ScreenUpdating = False
    With ws
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        n = .Range("A:C").Cells.SpecialCells(xlCellTypeConstants).Count
        ReDim test(n)
        a = 0
        For x = 1 To lr
            If .Range("A" & x) <> vbNullString Then
                test(a) = .Range("A" & x).Value
                a = a + 1
            End If
        Next
        .Range("A8", "T" & n + 7).Insert shift:=xlDown
        For x = 0 To n - 1
            .Range("A" & x + 8).Value = test(x)
        Next
        .Range("B7", "U" & n + 7).Select
        Selection.FillDown
        With Selection.Borders(xlInsideHorizontal)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
    End With
    Application.Goto reference:=ws.Range("B8"), Scroll:=False
    Application.ScreenUpdating = True
End Sub

Beste Octafish,

Bedankt voor de snelle reactie.
Maar helaas werkt het niet als ik de macro uitvoer kopieert hij geen gegevens naar mijn originele file.
Heb je daar ook nog een oplossing voor?

bij voorbaat dank

mvg arjan
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan