VBA code kopieren van bestand A naar bestand B beginnend met nieuwe regel

Status
Niet open voor verdere reacties.

robbert1966

Nieuwe gebruiker
Lid geworden
31 jan 2019
Berichten
2
Ik heb in bestand A een formulier gemaakt. de gegevens van dit formulier wil ik wegschrijven en opslaan in een ander bestand, zeg bestand B (dat nog niet geopend is).
Bijvoorbeeld : in bestand A, blad1 in cel B2, B3 en B4 staan gegevens die wil ik kopieren naar Bestand B, blad1 in cel A1,B1 en C1. de keer daarop wil ik dat de gegevens van Bestand A, blad1 worden gekopieerd naar Bestand B, blad1, maar naar de eerstvolgende lege cel (bijvoorbeeld A2,B2 en C2) enzovoort...

Ik ben niet zo bedreven in VBA en kan dit niet exact terugvinden op internet...wie kan mij helpen?
 
Code:
Sub kopieren()
    Dim bNietOpen As Boolean, WB

    bfile = "BestandB.xlsx"
    With ThisWorkbook.Sheets("blad1")
        arr = Array(.Range("B2").Value, .Range("B3").Value, .Range("B4").Value)        'je gegevens
    End With

    On Error Resume Next
    Set WB = Workbooks(bfile)                                        'misschien is Bfile al open
    If WB Is Nothing Then                                            'niet open, dus openen
        Set WB = Workbooks.Open(ThisWorkbook.Path & "\" & bfile)
        bNietOpen = True
    End If

    If WB Is Nothing Then MsgBox "probleempje", vbCritical: End

    With WB.Sheets("blad1")
        .Range("A" & .Rows.Count).End(xlUp).Offset(1).Resize(, UBound(arr) + 1).Value = arr
    End With

    If bNietOpen Then WB.Close 1                                     'indien B niet open was, opslaan en sluiten
End Sub
 
Laatst bewerkt:
@cow18, weer gokken?:d Volgens mij is de controle of het bestand al open is niet nodig en moeten de gegevens getransponeerd worden.

Code:
Sub VenA()
  c00 = "E:\Temp\BestandB.xlsx"
  ar = [B2].Resize(3)
    With Workbooks.Open(c00)
    .Sheets("Blad1").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 3) = Application.Transpose(ar)
    .Close -1
  End With
End Sub
 
@VenA, ik was mijn geld al kwijt, rien ne va plus.
Onze arrays zijn verschillend van dimensie, dus ik hoefde niet te transponeren, dacht ik toch.
Over dat openen, daar durf ik nu geen uitspraak over te doen, dat probeer ik later anders nog even uit.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan