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

Op basis van kleur in een apart werkblad kopieren

Status
Niet open voor verdere reacties.

chriswaterval1

Gebruiker
Lid geworden
22 mrt 2011
Berichten
10
Beste lezer,

Voor mijn werk ben ik bezig met een spreadsheet te maken op basis van een grote lijst met gegevens. Enkele van de personen in deze lijst zijn rood gekleurd, die hebben zich afgemeld voor het onderzoek, deze moet ik ook allemaal in een apart werkblad hebben (met alle horizontale data), zodat ik een EXIT gesprek kan organiseren. Dit wil ik dus graag automatiseren (zodat toekomstige veranderingen worden doorgesluisd naar mijn nieuwe werkblad), kan iemand me hierbij helpen? Ik ben niet bekend met Visual basics of macro's. Eigenlijk heb ik alleen een formule nodig en mischien een beetje uitleg.

Dit zoiu fantastisch zijn. Bij voorbaat dank.

Met vriendelijke groet,
Arjan Pijpker
 
chriswaterval1

Het gebruik van kleuren om gegevens te kopieeren in Excel kan niet via een formule
worden opgelost. Dit kan eigenlijk alleen met een VBA programmaatje.

Ik heb een voorbeeld bestandje bijgesloten.

Mocht je nog meer vragen hebben dan hoor ik het wel.

Veel succes.

Bekijk bijlage Kopieer gekleurde namen.xlsm
 
@ Elsendoorn2134

Vermijdt het gebruik van Select in je code. Het werkt verwarrend, vertragend en in 99% v/d gevallen overbodig.
Gebruik in plaats daarvan With...End With-structuren en For....Next-loops.

Code:
Sub SelecteerOpKleur()
Dim i As Integer
Dim nTeller As Integer
nTeller = 0
With Sheets("Blad1")
    For i = 1 To .UsedRange.Rows.Count
        If .Cells(i, 1) <> "" And .Cells(i, 1).Interior.ColorIndex = 3 Then
            Sheets("Blad2").Range("A65536").End(xlUp).Offset(1) = .Cells(i, 1).Value
            nTeller = nTeller + 1
        End If
    Next
End With
MsgBox "Er zijn " & nTeller & " namen gekopieerd naar tabblad Blad2", vbInformation
End Sub

@ Arjan

Hopelijk is de rode kleur er handmatig ingezet en niet met VO. Anders zal het niet zo simpel worden als nu het geval is.
 
Bedankt

Bedankt voor de inzet. Het werkt in het bestandje perfect. Maar hoe krijg ik het nu naar mijn eigen bestand.

groetjes
 
Open jouw bestand en druk ALT-F11.
In de werkbalk Invoegen selecteren >> Module aanklikken.
De code kopieëren en in het rechtervenster de code plakken.
Je kan nu op je werkblad een knop aanmaken en de macro hieraan verbinden of de macro starten met F8 >> Macro selecteren >> Uitvoeren.
 
halolo

Hoi,

Ik heb de code in de visual basics gezet en een macro eraan toegewezen. Hm het werkt, echter moet de gehele rij gekopieerd worden (ongeacht waar de kleur rood zit) en moeten er verschillende tinten rood worden herkend (niet iedereen is even secuur). Bedankt voor je hulp want het werkt zeker. Fantastisch dat het allemaal werkt zeg. Ik werk normaal meer met mensen, maar dit is toch wel leuk spul. BVD

Groetjes
 
Vervang
Code:
Sheets("Blad2").Range("A65536").End(xlUp).Offset(1) = .Cells(i, 1).Value
in
Code:
Sheets("Blad2").Range("A65536").End(xlUp).Offset(1) = .Cells(i, 1).Resize(,10).Value

Wijzig de 10 bij Resize in het aantal kolommen dat gekopieërd moet worden.
Wat betreft verschillende tinten rood zal je toch op een of andere manier tot eenvormigheid moeten komen, anders ga je het onnodig ingewikkeld maken, want elke tint is een ander cijfer. Maak bv een macro die de actieve cel rood maakt (1 bepaalde kleur rood) en zet een knop op je werkblad die je aan deze macro verbindt.
 
doet het niet

Sorry maar hij kopieert niet de hele rij, maar doet het nog wel. Heb je een oplossing

gr.
 
Code:
Sheets("Blad2").Range("A65536").End(xlUp).Offset(1).Resize(, 10) = .Cells(i, 1).Resize(, 10).Value
Wijzig bij beide resize de 10 in het aantal kolommen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan