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

Data van blad1 naar blad2 als waarde in A groter dan 0

Status
Niet open voor verdere reacties.

loek010

Gebruiker
Lid geworden
1 jul 2016
Berichten
366
Beste hulpverleners

kan iemand mij helpen met een vba macro om data van uit specifieke kolommen te kopieren
als zie Titel vraag naar ander werkblad te kopiëren in mijn voorbeeld bestandje heb ik het een en ander
verder toegelicht
 

Bijlagen

Waarom zou je dit willen? Waarom beginnen de gegevens niet gewoon in A1. Waarom heeft niet elke kolom een kolomkop? Het is met VBA wel vrij eenvoudig te maken maar een draaitabel lijkt mij in dit geval net zo makkelijk.
 
@VenA

Heel veel antwoorden met waarom, het is een voorbeeldje van het werkelijke blad waar wel elke kolom een kop heeft en uitmaakt van een tabel die start op A2
de te kopiëren regel zoals in mijn vraag moet gewoon naar blad2 beginnend in blad2 op A1 de data van dit blad heb ik nodig om te analyseren een draaitabel heb
ik niks aan dus ben graag benieuwd naar de vba code om dat te regelen zoals in mijn vraag
 
Code:
Sub copypaste()
Range("A3:A12").CurrentRegion.Copy Sheets("Blad2").Range("A1")
Range("F3:H10").CurrentRegion.Copy Sheets("Blad2").Range("B1")
End Sub

Waarschijnlijk voldoet dit al.
 
@JVeer

Bedankt voor je reactie, maar dit had ik ook al uitgedokterd en werkt wel maar waar ik eigenlijk naar toe wil
is zodra in kolom A een idnummer is geplaatst dat dan deze regel met het id van die cel in A en de gegevens van die rij met alleen de
gegevens van kolom F G en H uit die rij naar een ander werkblad worden gekopieerd onder de laatste ingevoerde regel van dat blad
ter info De kolommen B C D en E bevatten ook data dus CurrentRegion werkt dus niet.

Dit is wat ik tot nu toe heb toegepast

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 2 Then
        If Target.Offset(0, -1).Value = "" Then
            Target.Offset(0, -1).Value = Application.WorksheetFunction.Max(Columns("A")) + 1
        End If
    End If
    Application.ScreenUpdating = False
    Blad1.Range("A3:A1000").Copy Destination:=Blad3.Range("A1")
    Blad1.Range("F3:H1000").Copy Destination:=Blad3.Range("B1")
    Application.ScreenUpdating = True
End Sub
 
Currentregion werkt wel als jij de juiste informatie had aangeleverd.

In je bestand zijn B,C en D leeg.
Nu schrijf je dat deze ook gegevens bevatten.

Plaats een nieuw bestand met de juiste info.
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 2 Then
        If Target.Offset(0, -1).Value = "" Then
            Target.Offset(0, -1).Value = Application.WorksheetFunction.Max(Columns("A")) + 1
        End If
    End If

Range("A3:A200").Copy Sheets("Blad2").Range("A1")
Range("F3:H200").Copy Sheets("Blad2").Range("B1")
Range("A1").Select
End Sub

Dit werkt op zich bij mij
 
Laatst bewerkt:
Zodra je een rij aanvult en de kolommen A, B, F, G en H pas zijn ingevuld op basis van je geplaatste bestand.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
 If Target.Column = 2 And Target.Count = 1 Then
   If Target.Offset(, -1).Value = "" Then Target.Offset(, -1).Value = Application.Max(Columns(1)) + 1
 End If
  If Application.CountA(Cells(Target.Row, 1).Resize(, 2), Cells(Target.Row, 1).Offset(, 5).Resize(, 3)) = 5 Then
   Blad2.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 4) = Application.Index(Cells(Target.Row, 1).Resize(, 8), 0, Array(1, 6, 7, 8))
  End If
Application.EnableEvents = True
End Sub
 
@Harry
Hoe leer je zoiets. Veel doen? Boeken? Opleiding?
Ik probeer VBA wat beter te begrijpen
 
Die eerste twee lijken me een goed idee plus het bezoeken van fora.

Die laatste twee heb ik niet, of niet gedaan.
Als je het een beetje onder de knie hebt kan je door na te denken wat je wilt en welke instrumenten je tot je beschikking hebt.

Ik ken mensen die op cursus 6 van Excel zitten, maar die geen regel VBA kunnen schrijven.
 
Oke Bedankt, dan moet het goed komen :cool:
 
@Harry bedankt voor je code, sorry dat ik niet een voorbeeldje met alle gegevens had toegevoegd maar dacht dat het niet relevant was,
de code doet wel wat ik in gedachte had, maar in mijn orginele bestand slaat hij de laatste ingevoerde regel 14x maal op in het werkblad 2 zeg maar
de nieuwe regel in het werkblad met de tabel wordt ingevuld door middel van een userform ook als ik in de tabel de al aanwezige data veranderd
dan slaat hij dat ook op als een nieuwe regel in werkblad2 dus er gaat iets niet helemaal goed

Ik heb het aangepaste bestand toegevoegd.


Ps ik had op deze code niet gekomen, Ga net als Jveer me verder verdiepen in vba heb het boek VBA voor dummies besteld
en hoop daar wat meer kennis mee op te doen
 

Bijlagen

De Userform is verdwenen.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan