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

kopieer range van sheet 1 naar eerste lege regel op sheet 2

Status
Niet open voor verdere reacties.

caffie

Gebruiker
Lid geworden
2 jan 2008
Berichten
281
Wat doe ik fout
ik loop vast


Als ik een x in kolom l zet dan moet de range B to K worden gekopieerd uit sheet voeding naar de sheet data naar de eerste lege regel


Niet zo moeilijk waarschijnlijk voor de mensen hier maar ik ben er al een tijd mee bezig

Graag ook een uitleg erbij (daar leer ik weer van) van wat ik fout heb gedaan

alvast bedankt
 

Bijlagen

  • copier.xlsm
    28,7 KB · Weergaven: 31
Laatst bewerkt door een moderator:
Probeer deze eens:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("L1:L999")) Is Nothing Then
        With Sheets("data")
            .Cells(.Cells(Rows.Count, "A").End(xlUp).Row + 1, 1).Resize(, 10) = Cells(Target.Row, "B").Resize(, 10).Value
        End With
    End If
    Sheets("data").Select
End Sub
 
bedankt

ik mis nu alleen de formules na het copieren
en ik zou de data ook graag in de e kolom van se sheet data willen plaatsen.

ik ga er morgen weer verder mee stoeien



Vast heel erg bedankt
 
ik heb er dit van gemaakt



Private Sub Worksheet_Change(ByVal Target As Range)


Dim test As Integer

If Intersect(Target, Range("L1:L999")) = "x" Then
With Sheets("eten")
Cells(Target.Row, "B").Resize(, 10).Copy
.Cells(.Cells(Rows.Count, "E").End(xlUp).Row + 1, 5).Resize(, 10).PasteSpecial Paste:=xlPasteFormulas
Sheets("Voeding").Cells(Target.Row, Target.Column).Delete
End With
End If

End Sub
 
Laatst bewerkt:
@caffie


Zet je svp de VBA code nog tussen code tags ?
 
Ik moest even kijken wat u bedoelde
Maar ik neem aan dat u het zo wilt zien

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim test As Integer
If Intersect(Target, Range("L1:L999")) = "x" Then
With Sheets("eten")
Cells(Target.Row, "B").Resize(, 10).Copy
.Cells(.Cells(Rows.Count, "E").End(xlUp).Row + 1, 5).Resize(, 10).PasteSpecial Paste:=xlPasteFormulas
Sheets("Voeding").Cells(Target.Row, Target.Column).Delete
End With
End If

End Sub

weer wat geleerd
bedankt allemaal
 
Laatst bewerkt door een moderator:
Moet het niet zo zijn? Of heb je nog meer tabjes?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Target, Cells(1).CurrentRegion.Columns(12)) = "x" And Target.Count = 1 Then
    Application.EnableEvents = False
    Cells(Target.Row, 2).Resize(, 10).Copy Sheets("eten").Cells(Rows.Count, 5).End(xlUp).Offset(1)
    Target.Value = ""
    Application.EnableEvents = True
  End If
End Sub
 
Laatst bewerkt:
Ja ik heb meerdere tabbladen

Deze code werkt ook
ik weet niet zo goed wat het verschil is.
ik heb alleen gemerkt dat als ik een lege regel ertussen voeg dat de macro dan vast loopt.

maar dit moet ik dan gewoon niet doen.


bedankt voor met mee denken
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan