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

Rijen met zelfde grootboeknummer kopiëren naar Blad 2-3-4

Status
Niet open voor verdere reacties.

Senso

Meubilair
Lid geworden
13 jun 2016
Berichten
9.653
Besturingssysteem
W10 Pro en W11 Pro
Office versie
Office 2007 H@S en Office 2021 Prof Plus
U102, U800, 1900 zijn grootboeknummers. Op Blad 1 staan alle maanden jan t/m dec.

Rijen met zelfde grootboeknummer kopiëren naar blad 2-3-4
Zie voorbeeld dus alle U102 is Gas naar Werkblad Gas
U800 naar Stroom
1900 naar Water

Dus de hele rij intact houden zoals op Werkblad 1
Dan krijg ik een overzicht van alle maanden Gas, Stroom, Water
Als de opmaak/celeigenschappen niet klopt, hoe kan ik dan de opmaak van blad 1 kopiëren/overnemen naar de andere werkbladen?
Bekijk bijlage Rijen kopiëren naar ander Blad.xlsx
 
Laatst bewerkt:
Probeer deze maar eens:
Code:
Sub Verplaats()
    Dim sht As String
    Dim G As Boolean
    Dim i As Long
    
    Application.ScreenUpdating = False
    For i = 2 To Sheets("Blad1").Cells(Rows.Count, "A").End(xlUp).Row + 1
        With Sheets("Blad1")
            Select Case .Cells(i, 1)
                Case "U102": sht = "Gas":       G = True
                Case "U800": sht = "Stroom":    G = True
                Case "1900": sht = "Water":     G = True
                Case Else:                      G = False
            End Select
            If G Then
                .Range("A" & i).Resize(, 16).Copy
                With Sheets(sht).Range("A" & Sheets(sht).Cells(Rows.Count, "A").End(xlUp).Row + 1).Resize(, 16)
                    .PasteSpecial xlPasteFormats
                    .PasteSpecial xlPasteValues
                End With
                Application.CutCopyMode = False
            End If
        End With
    Next i
    Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Of:
Code:
Sub hsv()
Dim i As Long
Application.ScreenUpdating = False
  For i = 1 To 3
    With Range("a1:P" & Cells(Rows.Count, 1).End(xlUp).Row)
     .AutoFilter 6, Choose(i, "Gas", "Stroom", "water")
     .Copy Sheets(Choose(i, "Gas", "Stroom", "water")).Cells(1)
     .AutoFilter
    End With
  Next i
End Sub
 
Keurig :thumb:
 
@HVS,

Ben je dit,
Code:
Application.ScreenUpdating = True
niet vergeten op het eind van de code?
 
@ExcelAmateur,

Is niet nodig.
Na einde code gaat screenupdating automatisch op true.
 
Met dank. Ik heb geen ervaring met macro's. Ik ga dit op een andere pc uitvoeren. Dit zal mij wel (veel) tijd kosten. Ik vraag mij af of als je een macro invoert niet kunt selecteren dat deze betrekking heeft op één en hetzelfde document voor de veiligheid. Ik ben altijd bang dat andere documenten ook 'aangetast' worden in hun opmaak e.d.
 
Een macro werkt alleen op het document waarin deze aanwezig is.
 
Er gaat alleen iets fout als je twee of meerdere bestanden open hebt staan, en de macro laat draaien in een actieve werkboek waarvoor die niet bedoelt is.
Voor alle zekerheid.

Code:
Sub hsv()
Dim i As Long
Application.ScreenUpdating = False
[COLOR=#0000ff]with thisworkbook
  with .sheets("blad1")[/COLOR]
  For i = 1 To 3
    With [COLOR=#0000ff][SIZE=4].[/SIZE][/COLOR]Range("a1:P" & [COLOR=#0000ff][SIZE=4].[/SIZE][/COLOR]Cells(Rows.Count, 1).End(xlUp).Row)
     .AutoFilter 6, Choose(i, "Gas", "Stroom", "water")
     .Copy[SIZE=3] [COLOR=#0000ff][SIZE=2].parent.parent[/SIZE].[/COLOR][/SIZE]Sheets(Choose(i, "Gas", "Stroom", "water")).Cells(1)
     .AutoFilter
    End With
  Next i
[COLOR=#0000ff] end with
end with[/COLOR]
End Sub
 
Die van HSV uitgevoerd op de andere PC (WXP). Helaas is deze defect (hardwarematig), werkt zeer traag en iedere handeling/opening is drie tot vier minuten als het niet vastloopt. M.a.w. onwerkbaar. Macro gemaakt van HSV en je kunt deze alleen op dat werkblad van toepassing laten zijn (keuzemogelijkheid). Het opslaan van de macro is vreemd. Macro gemaakt dan vraag je toch om deze op te slaan? Helaas is mij de linkerkolom (structuur) totaal onduidelijk. De Macro staat er niet met naam. Ik maak de werkbladen aan Gas, Stroom, Water en voer de macro uit. Werkblad 1 vertoont kuren naast iedere kop/bovenste rij komt een blokje om te sorteren te staan. De werkbladen gas en stroom zien er goed uit, alleen water blijf leeg omdat de term water niet voorkomt op Blad1, dat geheel moet ik zien te vervangen door grootboeknummers zoals Edmoor aangeeft.
Case "U102": sht = "Gas": G = True

Ik moet eerst zien dat ik deze oude pc vervang door een exemplaar wat wel werkt. Dan kan ik experimenteren. Ik kan het mij niet veroorloven dat het op de hoofd pc in MS Office ergens fout gaat. Dan is de ramp niet te overzien.
 
Wees gerust, een ramp zal het nooit kunnen worden.
 
Je hebt vast een .xlsx bestand. Als je daar een macro in maakt zal worden gevraagt dit bestand op te slaan als document met macro's (.xlsm). Voor de rest denk je er naar mijn mening veel te moeilijk over. Zowel mijn voorbeeld als die van HSV doen beide niets dramatisch. Ze doen niets anders dan waar je vroeg.

En wat bedoel je met: "Helaas is mij de linkerkolom (structuur) totaal onduidelijk" ?
 
Laatst bewerkt:
alternatief:
Code:
Sub hsv()
Dim arr
Application.ScreenUpdating = False
With ThisWorkbook
  With .Sheets("blad1")
  For Each arr In Array("U102", "U800", "1900")
    With .Range("a1:P" & .Cells(Rows.Count, 1).End(xlUp).Row)
     .AutoFilter 1, arr
     .Copy .Parent.Parent.Sheets(Switch(arr = "U102", "Gas", arr = "U800", "Stroom", arr = "1900", "water")).Cells(1)
     .AutoFilter
    End With
  Next arr
 End With
End With
End Sub
 
Ik ga verder met een andere tweedehands pc. Zal volgende week kijken. Bewaar alles en ga experimenteren daar leer je het meest van.
Macro maken schermvoorbeeld.jpg

Nieuw Module1 (Code) boven de macro test. Links VBAProject (Nieuw..) met objecten blad 1 2 3 This Workbook Modules Module1 vind ik onduidelijk.
Het enigste wat ik zou willen weten is, hoe en waar sla ik de macro op. En hoe voer ik die uit vanaf die locatie. Simpel gedacht dan.
 
Laatst bewerkt:
Waar een macro moet staan is afhankelijk van het macrotype. Een Sub zoals die van HSV en van mij is onafhankelijk en mag je dus plaatsen waar je maar wilt.
Een module is een prima plek er voor. De objecten lnks bovenin zijn de modulen van je document en tabbladen. Daarin plaats je eventmacro's die dus worden getriggerd door een gebeurtenis in dan wel het werkboek dan wel het tabblad waar je de macro plaatst.

Als je een macro hebt geplaatst dan sla je je document op als .xlsm (Document met macro's)
Dit zal wel wat voor je zijn:
https://www.excel-pratique.com/en/vba.php
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan