• 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

Status
Niet open voor verdere reacties.

popipipo

Meubilair
Lid geworden
21 nov 2006
Berichten
9.083
Besturingssysteem
Win11
Office versie
Office 365
Ik heb 2 vraagjes over regels verplaatsten van een tabblad naar een ander tabblad.

1e vraag:
In 'invoerblad' staan allerlei meet gegevens,
De meet gegevens worden op gehaald via verticaal zoeken.
Daarna vinden er berekeningen plaats.

De rijen moeten worden verplaatst naar tabblad 'gevalideerd'
Echter omdat de gegevens via een formule zijn opgehaald gaat het mis .
De geel gekleurde cellen zouden dus als tekst moet en worden verplaatst.
De data validatie van de meter nummers moet dus ook verwijderd worden.

2e vraag:
Op een gegeven moment worden meters afgekeurd.
Deze moeten dan uit tabblad 'gevalideerd ' verwijderd worden en geplaatst worden in tabblad 'afgekeurd'.
Het bereik is de cel met het meter nummer en de volgende 22 rijen
Ik heb iets met 'offset' geprobeerd maar is niet gelukt.

In dit voorbeeld dus
In cel A49 gaan staan en dan rij 49 tm 71 verplaatsten
Of als je in A26 gaat staan rij 26 tm 48 verplaatsen.

De oude regels moeten dus ook nog verwijderd worden
 

Bijlagen

Laatst bewerkt:
1e vraag:

Code:
Private Sub CommandButton1_Click()
    Range("val_bereik").Copy

    With Sheets("gevalideerd")
        .Outline.ShowLevels 2
        
        With .Cells(Rows.Count, 1).End(xlUp).Offset(3)
            .PasteSpecial -4122
            .PasteSpecial -4163
        End With

        .Outline.ShowLevels 1
     End With
End Sub

2e vraag:

Code:
Private Sub CommandButton1_Click()
     With Sheets("afgekeurd")
        .Outline.ShowLevels 2
        ActiveCell.Resize(21, 11).Cut .Cells(Rows.Count, 1).End(xlUp).Offset(3)
        .Outline.ShowLevels 1
      End With
End Sub
 
Laatst bewerkt:
De geel gekleurde cellen zouden dus als tekst moet en worden verplaatst.
De data validatie van de meter nummers moet dus ook verwijderd worden.
Bijna wat ik wil, in kolom H tm K worden nu ook de formules verwijderd en dat wil ik dus niet

Wat vraag 2 betreft de groepering wordt niet mee gekopieerd en de cellen worden alleen maar leeg gemaakt de rijen en groepering worden niet verwijderd.
 
Laatst bewerkt:
De opdracht 'copy' verwijdert nooit iets.
Over welke kolommen in welk werkblad heb je het ?
 
Als giga senior met bijna 5000 berichten weet ik ook wel dat 'copy' niets verwijderd.
In de oorspronkelijke vraag stond ook duidelijk:

In dit voorbeeld dus
In cel A49 gaan staan en dan rij 49 tm 71 verplaatsten
Of als je in A26 gaat staan rij 26 tm 48 verplaatsen.

De oude regels moeten dus ook nog verwijderd worden

in kolom H tm K worden nu ook de formules verwijderd
Tabbladen 'invoer' 'gevalideerd' en 'afgekeurd' hebben allemaal dezelfde layout dus het geldt voor alle tabbladen.

Aanvullende actie van Command button 'invoer validatie meter' (van tabblad 'invoer' naar 'gevalideerd')
Formules uit kolommen A tm G moeten vervangen worden door de getallen.
Formules uit kolommen H tm K moeten blijven bestaan


Actie Command button 'Verwijder afgekeurde meter' (van tabblad 'gevalideerd' naar 'afgekeurd')
De 23 rijen moeten in zijn geheel uit tabblad 'Gevalideerd' verwijderd worden en in tabblad 'afgekeurd' geplaatst worden. Inclusief de rij groepering.
In tabblad 'gevalideerd' mogen geen onnodige lege rijen (met rij groepering) bevatten, onderstaande rijen moeten dus aansluiten alsof er nooit iets is verwijderd.
 
Kan iemand mij nog verder helpen?
 
Nog wel even testen!
Code:
Private Sub CommandButton1_Click()
    i = 3
    Do Until Me.Cells(i, 1).Value = ""
        If Me.Cells(i, 11).Value = "Afgekeurd" Then
            Me.Cells(i, 1).Resize(23, 12).Cut Destination:=Sheet5.Cells(Rows.Count, 1).End(xlUp).Offset(3)
            Me.Cells(i, 1).Resize(23, 12).EntireRow.Delete
        Else
            i = i + 23
        End If
    Loop
End Sub
Maar het is mss beter om je app als een database te benaderen. In dit geval met twee tabellen (denk ik): één met Meters, en één met Metingen. Dan voorkom je de noodzaak om blokken gegevens te moeten verplaatsen.
 
Hallo Frans

Dit werkt naar behoren, eigenlijk had ik zelf ook al een database met userform in gedachte.
Op het werk houden ze niet zo van grote veranderingen, alles moet je voorzichtig stap voor stap brengen en dan nog...

Nu maar hopen dat ze het ook goed vinden.
 
Dit is een reactie op de vraag die (waarom weet ik niet) verwijderd is in vorige draad.

Is deze werkwijze ook goed?
Snap niet echt wat de bedoeling(functie) is van die macro.
Maar dat is een bijkomstigheid(voor mij). :)
 

Bijlagen

Ik ga de oplossing van mvw64 eens verder uitwerken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan