Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: macro werkt niet bij gefilterde kolom  (gelezen 6786 keer)

0 leden en 1 gast bekijken dit topic.

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #15 Gepost op: 23 maart 2018, 18:47:27 »
Eigenlijk ben ik al heel blij met deze code van Alfa.

Als hij van de ingevoegde regel de cellen A tm L grijs maakt is dat voor mij genoeg.
Gaat dat nog lukken? ik heb wel een idee hoe ik dat zou moeten doen, maar krijg het niet geschreven in vba :-\


Option Explicit
Sub macro1()
Dim l As Integer
With Sheets(1)
Application.ScreenUpdating = False
l = .Range("a" & .Rows.Count).End(xlUp).Row
Do Until l = 2
If Application.And(.Range("d" & l).Value <> .Range("d" & l - 1).Value) Then
.Range("a" & l).Rows.EntireRow.Insert
End If
l = l - 1
Loop
Application.ScreenUpdating = True
End With
End Sub

Offline alfa

  • Lid
  • *
  • Berichten: 83
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #16 Gepost op: 23 maart 2018, 20:08:17 »
Tonnie,
lijkt je dit (zie bijlage) niet beter (daarom mijn vraag in mijn vorig bericht)? Ga naar blad2 en klik op een cel in kolom A.
Als daar nog ergens een kleur bij moet, laat het dan weten.
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #17 Gepost op: 23 maart 2018, 20:23:33 »
Hoi Alfa,

Top dat je dit kan maken, maar dat gaat het niet worden.

de onderstaande macro doet precies hoe ik het wil, ik zou alleen graag die regel grijs kleuren van cel A tm L of desnoods de hele ingevoegde rij grijs kleuren.

Option Explicit
Sub macro1()
Dim l As Integer
With Sheets(1)
Application.ScreenUpdating = False
l = .Range("a" & .Rows.Count).End(xlUp).Row
Do Until l = 2
If Application.And(.Range("d" & l).Value <> .Range("d" & l - 1).Value) Then
.Range("a" & l).Rows.EntireRow.Insert
End If
l = l - 1
Loop
Application.ScreenUpdating = True
End With
End Sub

Offline alfa

  • Lid
  • *
  • Berichten: 83
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #18 Gepost op: 23 maart 2018, 20:45:04 »
dat gaat het niet worden.
Vreemd, omdat je gisteravond antwoordde dat dat precies is wat je wou (daarom maakte ik ook juist de macro die ik in mijn vorig bericht bijvoegde), maar dan heb ik je kennelijk niet goed begrepen.
Ingaande op je laatste vraag: pas de macro aan als volgt:
Option Explicit
Sub macro1()
Dim l As Integer
With Sheets(1)
.Columns("a:l").Interior.ColorIndex = xlColorIndexNone
Application.ScreenUpdating = False
l = .Range("a" & .Rows.Count).End(xlUp).Row
Do Until l = 2
If Application.And(.Range("d" & l).Value <> .Range("d" & l - 1).Value) Then
.Range("a" & l).Rows.EntireRow.Insert
.Range("a" & l & ":l" & l).Interior.ColorIndex = 15
End If
l = l - 1
Loop
Application.ScreenUpdating = True
End With
End Sub

Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #19 Gepost op: 23 maart 2018, 20:51:39 »
Nou dat is het!!

de hele dag ben ik al aan het zoeken hoe ik die regels kan kleuren :blink:
en jij schud het zo uit je mouw.
Ik ga op me gemak kijken hoe je het gedaan hebt, wil graag weten hoe hij precies werkt.

Heel erg bedankt Alfa voor je hulp :thumbsup:

Offline alfa

  • Lid
  • *
  • Berichten: 83
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #20 Gepost op: 23 maart 2018, 21:04:34 »
En nou wil je zeker ook nog weten hoe je de grijze regels weer kunt verwijderen?
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #21 Gepost op: 23 maart 2018, 21:41:02 »
Hahahaha

Nou als dat zou kunnen  :P

Offline alfa

  • Lid
  • *
  • Berichten: 83
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #22 Gepost op: 23 maart 2018, 21:57:12 »
Het zou een goede oefening zijn, want in vergelijking met de vorige macro hoef je niet zo veel te veranderen.
Sub macro2()
Dim l As Integer
With Sheets(1)
Application.ScreenUpdating = False
l = .Range("a" & .Rows.Count).End(xlUp).Row
Do Until l = 2
If .Range("a" & l).Interior.ColorIndex = 15 Then
.Range("a" & l).Rows.EntireRow.Delete
End If
l = l - 1
Loop
Application.ScreenUpdating = True
End With
End Sub
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #23 Gepost op: 23 maart 2018, 22:12:28 »
Pfff lijkt zo makkelijk......

ik zat meer aan grof geschut te denken, alle gebruikte rijen selecteren en dan deleten waar colorindex 15 in zat.
dat is zeg maar werken met een hijskraan waar jij een pincet gebruikt.

Thanks Alfa.

Offline alfa

  • Lid
  • *
  • Berichten: 83
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #24 Gepost op: 23 maart 2018, 22:36:56 »
Graag gedaan!
Oefening baart (een beetje) kunst ;)
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #25 Gepost op: 23 maart 2018, 22:49:14 »
Uuhhh Alfa,

Ik heb hem in mijn bestand gebouwd maar ik vergat erbij te vertellen dat de eerste 21 rijen info bevatten wat niet gebruikt mag worden.
Die lijst komt dus pas op regel 21 en verder te staan.
vanaf daar mag hij pas zijn dingetje doen.

can you please help me?

Offline alfa

  • Lid
  • *
  • Berichten: 83
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #26 Gepost op: 23 maart 2018, 23:06:34 »
Als je de macro goed bestudeert, dan zie je het zelf wel denk ik.
"Do until" loopt nu tot rij 2, dus van die 2 moet je 21 maken, dat is alles.
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #27 Gepost op: 23 maart 2018, 23:22:13 »
Nou, als hij op deze regel komt:
.Columns("a:l").Interior.ColorIndex = xlColorIndexNone
gooit hij al de kleuren uit de cellen boven regel 21

Option Explicit
Sub macro1()
Dim l As Integer
With Sheets(1)
.Columns("a:l").Interior.ColorIndex = xlColorIndexNone
Application.ScreenUpdating = False
l = .Range("a" & .Rows.Count).End(xlUp).Row
Do Until l = 21
If Application.And(.Range("d" & l).Value <> .Range("d" & l - 1).Value) Then
.Range("a" & l).Rows.EntireRow.Insert
.Range("a" & l & ":l" & l).Interior.ColorIndex = 15
End If
l = l - 1
Loop
Application.ScreenUpdating = True
End With
End Sub

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #28 Gepost op: 23 maart 2018, 23:27:25 »
ik kijk het nog even na want volgens mij zit het foutje niet in je code maar ergens in mijn bestand.

Offline alfa

  • Lid
  • *
  • Berichten: 83
  • Oplossing.be
Re: macro werkt niet bij gefilterde kolom
« Reactie #29 Gepost op: 23 maart 2018, 23:57:34 »
Je hoeft niet telkens de code in je bericht te plaatsen als er niets aan gewijzigd is, want die code heb ik zelf geschreven, dus ik weet echt wel hoe die er uitziet.
Nou, als hij op deze regel komt:
.Columns("a:l").Interior.ColorIndex = xlColorIndexNone
gooit hij al de kleuren uit de cellen boven regel 21
Natuurlijk, die regel wist alle kleuren in de kolommen A t/m L. Tot dusver is nergens gebleken dat er boven rij 21 met niet-grijze kleuren werd gewerkt, dus kon daar ook geen rekening mee worden gehouden.
Hoewel de oplossing bijna letterlijk uit 1 van mijn eerdere macro's in dit topic kan worden overgenomen, zal ik die hier nog een keer geven, maar je begrijpt: door code te kopiëren leer je helemaal niets, je moet ze zelf proberen te schrijven.
Wijzig dit:
With Sheets(1)
.Columns("a:l").Interior.ColorIndex = xlColorIndexNone
Application.ScreenUpdating = False
l = .Range("a" & .Rows.Count).End(xlUp).Row
Do Until l = 21
in dit:
With Sheets(1)
Application.ScreenUpdating = False
l = .Range("a" & .Rows.Count).End(xlUp).Row
.Range("a21:l" & l).Interior.ColorIndex = xlColorIndexNone
Do Until l = 21


Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

 


www.combell.com