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

Macro om gegevens uit te splitsen over een verschillende tabbladen

Status
Niet open voor verdere reacties.

rvandenboogaert

Gebruiker
Lid geworden
14 jan 2011
Berichten
23
Ik zoek:

Een macro om gegevens uit te splitsen over verschillende (bestaande) tabbladen indien deze aan een bepaalde voorwaarde voldoen.

Echter mijn kennis in macro's is zodanig dat ik nog maar net onder de knie heb dat als een regel een bepaalde waarde heeft dat deze verwijdert moet worden. (en nog maar half)

Ik heb een voorbeeldsbestand bijgevoegd met een tabblad bron en 2 tabbladen met namen welke ik dmv de macro in wil laten vullen.
Ik werk met een bestand met 50 namen over een paar honderd regels, nu heb ik tabbladen voor elke naam staan met een als formule voor elke regel. Zoals gebruikt in mijn voorbeeldbestand.

Het aanmaken van automatische nieuwe tabbladen zoek ik niet, omdat ik niet voor alle namen een tabblad wil hebben. Vandaar dat de tabbladen reeds bestaan.
Ik zoek dus een macro welke mijn als formule vervangt, waardoor ik niet op elk tabblad een honderdtal aan formules heb staan, welke ik nu handmatig verwijder en sorteer om de grootte van het bestand te beperken.Bekijk bijlage namenlijst.xlsx

Bij voorbaat dank.
 
Bedoel je het zo?

Code:
Sub tst()
Dim cl
 With Sheets("Bron")
    For Each cl In .Range("C1:C" & Cells(Rows.Count, 3).End(xlUp).Row)
      If cl > 0 Then
    On Error Resume Next
        Sheets(cl.Value).[A65536].End(xlUp).Offset(1).EntireRow.Value = .Cells(cl.Row, 1).EntireRow.Value
      End If
    Next
  End With
End Sub
 
Dag HSV,

Bedankt voor je input, echter als ik deze macro gebruik doet excel hier niets op. Mijn kennis is nog niet zodanig dat ik zo iets kan maken en meestal alleen verder kan als een deel van een macro werkt om te herkennen wat er dan precies gebeurd.

Groet,

Rob
 
Code:
Sub kopieer()
  Dim sh As Worksheet, AC As Range
  Application.ScreenUpdating = False
  Set AC = ActiveCell                                      'huidige active cell
  With Sheets("bron")
    .AutoFilterMode = False                                'filter uitzetten
    For Each sh In Worksheets                              'loop alle werkbladen af
      If sh.Name <> Sheets("bron").Name Then               'werkblad is niet bron
        .Range("c1").AutoFilter 3, sh.Name                 'filter in bron op naam van dat werkblad
        If .AutoFilter.Range.Columns(3).SpecialCells(xlVisible).Count > 1 Then  'aantal zichtbare cellen in C is groter dan 1 (koprij is de 1e)
          sh.Columns("A:H").ClearContents                  'veeg eerste kolommen in ander werkblad
          .AutoFilter.Range.SpecialCells(xlVisible).Copy   'kopieer zichtbare cellen
          sh.Range("A1").PasteSpecial xlValues             'naar ander blad
          Application.Goto sh.Range("A1"), False           'ga bovenin staan
          sh.Columns("A:H").AutoFit                        'kolombreedte automatisch aanpassen
        End If
      End If
    Next
    .AutoFilterMode = False                                'filter uitzetten
    Application.CutCopyMode = False
    Application.Goto AC, False
  End With
  Application.ScreenUpdating = True
End Sub
 
Dag Cow18,

Dit is het echt helemaal, ik ga er mee verder voor het uiteindelijke resultaat, ook bedankt voor de uitleg.
 
Dag HSV,

Bedankt voor je input, echter als ik deze macro gebruik doet excel hier niets op. Groet,

Rob

Werkt volgens mij uitstekend in de bijlage.

Kijk eerst eens op tabbladen 'Piet en Klaas' en constateer dat deze leeg zijn.
Ga naar blad 'Bron' en run de macro; kijk dan eens weer naar 'Piet en Klaas'.
 

Bijlagen

  • Piet en Klaas.xls
    43 KB · Weergaven: 545
Dag Harry,

Ik heb deze nogmaals gecontroleerd en zie nu waarom deze niet werkte. Namelijk als cellen reeds ingevuld waren werden deze niet overschreven. Dit zat idd niet in mijn originele aanvraag. Vandaar dat de macro van Cow18 beter voor mij van toepassing is. Maar inderdaad je macro werkt.

Bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan