• 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 verplaatsen naar andere tabblad

Status
Niet open voor verdere reacties.

Martijfg

Gebruiker
Lid geworden
30 apr 2018
Berichten
13
Beset lezers,

Ik probeer een macro te maken via VDA maar het lukt me niet met de voorbeelden die al op deze website staan.
Ik begrijp niet wat ik moet aanpassen om het ook werkbaar te krijgen in mijn excel bestand.
Wat ook niet helpt is dat ik Dyslexie heb maar ik zou het toch graag willen leren:-).

Ik wil het volgende voor elkaar krijgen:
Gegevens verplaatsen zo dra je op een knop klik van tab "Invoer gebruiker 1"naar tab "2018" cel 2B dan wel de eerst volgende lege cel

Gevonden code op een ander forum

Sub RijVerplaatsen()


Dim rij As Long
Dim n As Long
Dim src As Worksheet
Dim trg As Worksheet
Set src = Sheets("Blad1")
Set trg = Sheets("Blad2")
Application.ScreenUpdating = False
rij = trg.[A65536].End(xlUp).Row + 1

For n = 1 To Blad1.[A65536].End(xlUp).Row
If Cells(n, "D").Value = "volbracht" Then
Range(Cells(n, "A"), Cells(n, "K")).Copy
trg.Cells(rij, "A").PasteSpecial
Range(Cells(n, "A"), Cells(n, "K")).EntireRow.Delete

rij = rij + 1
End If
Next
Application.Goto [blad2!A1], True
Application.Goto [blad1!A1], True
Application.ScreenUpdating = True
End Sub

Nu dus mijn vraag, wat moet ik aanpassen om het werkbaar te krijgen in mijn bestand?
Zie bijlage

Ik hoop dat jullie me veder kunnen helpen

MVG,
Martijn
 

Bijlagen

Welkom op het forum Martijn.

Probeer dit eens:

Code:
Sub SjonR()
j = Range("A" & Rows.Count).End(xlUp).Row

For i = 2 To j
    With Sheets("2018")
        Lastrow = .Range("B" & Rows.Count).End(xlUp).Row + 1
            .Cells(Lastrow, 2).Resize(, 12).Value = Cells(i, 1).Resize(, 12).Value
    End With
Next

Cells(2, 1).Resize(j - 1, 12).ClearContents
End Sub

nog 1 dingetje:

de tijd met NU vastleggen in je bestand loopt mee met de huidige tijd, dus of dit zo verstandig is?
 
Laatst bewerkt:
Bedankt Sjon voor je snelle antwoord!

Het werkt pressies zo als gevraagd top!

Nu twee vragen, Vraag 1: kan je me uitleggen hoe ik de code moet lezen, of wel waar staat wat en wat doet wat?

Vraag 2: het veld van de tijdstip, datum en naam van tabblad hoeft van mijn niet in het invul veld er bij maar moet wel bij de gegevens worden toegevoegd, hoe lossen we dit dan op?
Nu worden deze gegevens overigens ook geknipt waardoor ook de code ( som=) weg is.

MVG,
Martijn
 
Code:
Sub hsv()
Dim sv
  sv = Sheets("invoer gebruiker 1").Cells(1).CurrentRegion.Offset(1).Resize(, 12)
  Sheets("2018").Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(UBound(sv), 12) = sv
End Sub
 
Beste HSV,

Bedankt voor het mee denken, het is echter de bedoeling dat houtomaaties de datum, tijd en naam van het tablad meeneemt.
Ik wil namelijk verschilende tabbladen maken voor elke gebruiker zijn ijgen tabblad met dus zijn naam daar in verwerkt.

Daarnaast zou ik graag leren wat wat betekend.

Ik heb jou code nu overgens zo geplaats maar ik zie geen verschil.

Sub SjonR()
j = Range("A" & Rows.Count).End(xlUp).Row

For i = 2 To j
With Sheets("2018")
Lastrow = .Range("B" & Rows.Count).End(xlUp).Row + 1
.Cells(Lastrow, 2).Resize(, 12).Value = Cells(i, 1).Resize(, 12).Value
End With
Next

Cells(2, 1).Resize(j - 1, 12).ClearContents

Dim sv
sv = Sheets("invoer gebruiker 1").Cells(1).CurrentRegion.Offset(1).Resize(, 12)
Sheets("2018").Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(UBound(sv), 12) = sv

End Sub
 
Beste Harry en Sjon,

Ik ben wat aan het stoeien geweest en begrijp nu dat jullie bijde verschilende codes/opdrachten hebben gemaakt.

Die van Sjon wist te veel en die van Harry laat te veel staan.
Wat ik probeer te begrijpen is hoe je het gedeelte selecteerd dat verplaatst word en hoe je het gedeelte selecteerd dat gewist moet worden, mischien is wissen wel beter dan knippen gezien ik wat codes in de cellen heb staan welke ik er in wil laten zitten zo als de datum.

Ik hoop dat jullie me veder kunnen helpen met het begrijpe van de code.

MVG,
Martijn
 
Als er iets wordt gewist, is dat incl. formules of het blijft staan.
 
Wat ik eigenlijk wil is dat hij niet alle velden verplaats dan wel wist maar alleen regel twee.

Ook wil ik dat hij kolom D tot F wist en de rest laat staan.

Hoe kan ik dit voor elkaar krijgen? heb wel het een en ander geprobeerd maar dat lukte niet.
 
zo dan?

Code:
With Sheets("invoer gebruiker 1")
    Sheets("2018").Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(, 12).Value = .Range("A2:L2").Value
    .Range("D2:F2").ClearContents
End With
 
Laatst bewerkt:
Waarom niet?
Cells(2,1)
 
Wat bedoel je precies Harry?

Cells(2,1).resize(,12) bedoel je?

Had wat van jouw code gepikt :)
 
Laatst bewerkt:
Precies zo ja,
Ik opereer in een currentregion, dat is wat anders.

Of range("a2:l2").value
 
Laatst bewerkt:
Geweldig heren werkt als een trein:-)

Wat moet ik nu aanpassen als ik bijvoorbeeld niet alleen regel 2 wil verplaatsen maar ook regel 3 en 4 en deze ook wil wissen.

Even simpel gedacht maar klopt het onderstaande?

Sub SjonR()
With Sheets("sanne")
Sheets("2018").Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(, 14).Value = .Range("A2:N2").Value
.Range("J2:N2").ClearContents
End With
End Sub
Sub SjonR()
With Sheets("sanne")
Sheets("2018").Cells(Rows.Count, 3).End(xlUp).Offset(1).Resize(, 14).Value = .Range("A3:N3").Value
.Range("J3:N3").ClearContents
End With
End Sub

Of kan kan/moet dat anders?
Ik heb het natuurlijk even getest maar zo simpel werkt het dus niet:-)

GR,
Martijn
 
Is dit wat je wil?
Code:
Sub hsv()
Dim sv
  With Sheets("invoer gebruiker 1").Cells(1).CurrentRegion.Offset(1).Resize(, 12)
    sv = .Value
    .Clear
  End With
  Sheets("2018").Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(UBound(sv), 12) = sv
End Sub
 
Op basis van wat je geprobeerd hebt denk ik dan dat je dit wil ( voor 3 regels tegelijk):

Code:
Sub Martijn()
    With Sheets("sanne")
        Sheets("2018").Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(3, 14).Value = .Range("A2:N4").Value
        .Range("J2:N4").ClearContents
    End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan