Help!

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

Hulp bij posten

Recente topics

Auteur Topic: Kolommen leeg of met 0 waarden verwijderen  (gelezen 31224 keer)

0 leden en 1 gast bekijken dit topic.

Offline Georgyboy

  • Ervaren lid
  • ***
  • Berichten: 314
  • Geslacht: Man
  • Oplossing.be
Kolommen leeg of met 0 waarden verwijderen
« Gepost op: 18 september 2019, 11:54:41 »
Goeiedag

Kunnen we Kolommen leeg of met 0 waarden verwijderen ?
Met een formule of VBA code ?

Alvast bedankt

Groeten,
Georgyboy

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.129
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #1 Gepost op: 18 september 2019, 14:24:55 »
Hallo Georgyboy,

Speel hier even mee:

Sub test()

Dim test As Double

test = Application.WorksheetFunction.Sum(Range("B2:B500"))
 If test = 0 Then
    Columns("B:B").Delete Shift:=xlToLeft               'Verwijderen of
                         'Columns("B:B").EntireColumn.Hidden = True     ' Verbergen
End If

End Sub

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #2 Gepost op: 18 september 2019, 14:41:39 »
Hmmm.... is de vraagstelling wel juist? KOLOMMEN in een tabel verwijderen lijkt me nooit een goede zaak. Ik kan me wel voorstellen dat er lege REGELS in een tabel verwijderd moeten worden...
Zie mijn oplossing daarvoor met een hulpkolom in je tabel. Filteren op die hulpkolom op TRUE (of waar) en dan die betreffende gefilterde regels deleten.
______________________________

Groet, Leo

Offline Georgyboy

  • Ervaren lid
  • ***
  • Berichten: 314
  • Geslacht: Man
  • Oplossing.be
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #3 Gepost op: 18 september 2019, 16:15:40 »
Bedankt voor het meedenken,

Wellicht was de reden van mijn vraagstelling niet duidelijk, mijn excuses daarvoor

Bij hen inladen van een tabel uit een database zijn er veel kolommen met volledige nul waarden of leeg.
Deze kunnen we niet gebruiken, daarmee maak ik een filter en controleer kolom per kolom om zo de onnodige te wissen.

Daar het soms uit 30 à 40 kolommen bestaat waar er misschien maar in 10 waarden staan is dit omslachtig.

Hier is enkel de éérste kolom nuttig, verder in de kolomreeks zijn er nog nuttige kolommen
Nummer GrootBoekNr GrBoekNr1 GrBoekNr2 GrBoekNr3 GrBoekNr4 GrBoekNr5 KostenPlaats FaktuurGroep GrBoekNr6
9980 0 0 0 0 0 0 0 0 0
9990 0 0 0 0 0 0 0 0 0
9991 0 0 0 0 0 0 0 0 0
9992 0 0 0 0 0 0 0 0 0
9993 0 0 0 0 0 0 0 0 0
1010 0 0 0 0 0 0 0 0 0
1020 0 0 0 0 0 0 0 0 0
1030 0 0 0 0 0 0 0 0 0
1040 0 0 0 0 0 0 0 0 0
1050 0 0 0 0 0 0 0 0 0
1060 0 0 0 0 0 0 0 0 0
1070 0 0 0 0 0 0 0 0 0

Toch weer bedankt dat ik van jullie weer heb mogen leren en het voor andere toepassingen nuttig is.

Groetjes,
Georgyboy

Offline emields

  • Ervaren lid
  • ***
  • Berichten: 257
  • Geslacht: Man
  • Oplossing.be
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #4 Gepost op: 18 september 2019, 18:35:05 »
probeer deze eens

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.129
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #5 Gepost op: 18 september 2019, 19:46:05 »
probeer deze eens

Werkblad erbij, 2 knoppen erbij....
Kolommen naar een ander werkblad schrijven, om ze eventueel daarna terug op te halen...
Dan kan je ze toch beter gewoon verbergen op het eerste (enige) werkblad, niet?

My 2 cents....

:) SoftAid :)             

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline emields

  • Ervaren lid
  • ***
  • Berichten: 257
  • Geslacht: Man
  • Oplossing.be
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #6 Gepost op: 18 september 2019, 20:27:43 »

De ene knop dient voor het inladen van de gegevens(zoals bij vraagsteller ook gebeurt), de ander voor het verwijderen van de overtollige kolommen.

ik weet dat de code veel compacter kan maar aangezien vraagsteller geen Excel expert is hou ik het graag lees- en leerbaar.
Ben anders zeer benieuwd om uw waardevolle oplossing te zien en zelf nog wat bij te leren.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.129
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #7 Gepost op: 18 september 2019, 21:09:52 »
Bericht aangepast om 14:35h, en duidelijk bedoeld om een aanzet te geven, en de TS zelf verder te laten leren op deze voorzet.

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Georgyboy

  • Ervaren lid
  • ***
  • Berichten: 314
  • Geslacht: Man
  • Oplossing.be
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #8 Gepost op: 19 september 2019, 06:03:04 »
Bedankt voor jullie bijdrage,

Heb weer wat leerstof bij :)

Ga ermee aan de slag

Offline Georgyboy

  • Ervaren lid
  • ***
  • Berichten: 314
  • Geslacht: Man
  • Oplossing.be
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #9 Gepost op: 23 september 2019, 06:11:46 »
Goedemorgen,

Emields je codes werken heel goed op het bijgestuurde voorbeeld met 2 tabbladen.
Kun je deze code aanpassen indien er maar 1 tabblad is met gegevens kan wel uit 50 tal kolommen bestaan.
Alhoewel je grote aanzet kom ik er niet uit dit te wijzigen.

Alvast bedankt!

Groeten,
Georgyboy


Offline emields

  • Ervaren lid
  • ***
  • Berichten: 257
  • Geslacht: Man
  • Oplossing.be
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #10 Gepost op: 23 september 2019, 09:50:22 »
emields,

je mag geen kleuren (color=) gebruiken tussen code-tags.

indien een bezoeker deze code kopieert en plakt (wat de bedoeling is) dan gaat de VBA de mist in.

Dus OF:

Sub Knop1_Klikken()
x = Range(Range("a1"), Range("az1").End(xlToLeft)).Columns.Count

OF:

Sub Knop1_Klikken()
x = Range(Range("a1"), Range("az1").End(xlToLeft)).Columns.Count

:) SoftAid :)             




Offline Georgyboy

  • Ervaren lid
  • ***
  • Berichten: 314
  • Geslacht: Man
  • Oplossing.be
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #11 Gepost op: 23 september 2019, 17:16:23 »
Bedankt voor de tips

Heb dit een paar keer met succes kunnen testen.
In bijlage een groot bestand ontdaan van gevoelige informatie, bij het importeren word er direct een tabel van gemaakt

Groetjes
Georgyboy

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #12 Gepost op: 26 september 2019, 18:02:05 »
Hey Georgyboy,

Citaat
Emields je codes werken heel goed op het bijgestuurde voorbeeld met 2 tabbladen.
Kun je deze code aanpassen indien er maar 1 tabblad is

Het tweede blad en de tweede knop in de oplossing van emields dient blijkbaar enkel om je oorspronkelijke kolommen terug te zetten (wat je toch totaal niet gevraagd had...)
Verder zal het natuurlijk niet altijd lukken omdat hij in zijn code heeft beslist dat het op maximaal 10000 rijen, en vooral op maximaal 52 kolommen mag werken. Vermoedelijk weet zelfs joost niet waarom...
Voor de rest zit er wel wat bruikbaars in zijn code, al kan de snelheid wel een boost gebruiken.
Probeer deze eens
Sub lege_kolommen()

Application.ScreenUpdating = False
Dim k As Range
laatsterij = Cells(Rows.Count, 1).End(xlUp).Row
For kolom = Cells(1, Columns.Count).End(xlToLeft).Column To 1 Step -1
    Set k = Range(Cells(2, kolom), Cells(laatsterij, kolom))
    k.Replace What:="0", Replacement:="", LookAt:=xlWhole
    If WorksheetFunction.CountA(k) = 0 Then
        Columns(kolom).Delete
    End If
Next kolom

End Sub
Succes,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline Georgyboy

  • Ervaren lid
  • ***
  • Berichten: 314
  • Geslacht: Man
  • Oplossing.be
Re: Kolommen leeg of met 0 waarden verwijderen
« Reactie #13 Gepost op: 29 september 2019, 11:06:28 »
Bedankt Putifo,
Bedankt Emields,

Werkt perfect en vooral heel snel

Groeten,
Georgyboy

 


www.combell.com