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

Wegschrijven van gegevens

Status
Niet open voor verdere reacties.

danny147

Terugkerende gebruiker
Lid geworden
29 apr 2007
Berichten
4.744
Beste,

In het voorbeeld dat ik hier gepost heb kan ik de gegevens ophalen voor tabblad GA maar niet voor tabblad Rest
Via de code kijkt men naar de cel Z1:Z2 in tabblad GA welke kolom hij moet nemen en welke voorwaarde men wilt
Echter voor tabblad Rest moet ik kijken naar kolom Sorteerveld en moet hij alle lege cellen laten zien, wat moet ik in cel Z2 plaatsen ?
Geprobeerd met de cel leeg te laten of ="", maar lukt niet hiermee.
 

Bijlagen

Zet onderstaande formule eens in T2 van tabblad Output en voer het door naar onderen.
Code:
=ISLEEG(Q2)
 
Beste HSV,

Als ik dat doe dan krijg ik voor alle cellen ONWAAR als resultaat
Heb dan de volgende formule genomen die wel lukt: =ALS(Q2="";0;1)
Zo kan ik dan in cel Z1 de kopnaam plaatsen van T1 en in cel Z2 0 plaatsen als uitkomst van de andere cellen.

Moet dan wel nog wat aanpassingen doen bij het opladen van de Output, maar dit komt wel in orde.

Alvast bedankt voor het helpen zoeken.
 
Danny,

Met andere woorden:
De cellen die leeg lijken zijn niet leeg.

Ik kan ook niet zo ontdekken wat er wel in staat.
Je kan het bestand opslaan als CSV en sluiten.
De csv openen; nu zijn alle cellen wel echt leeg.

Let op: Als er formules in staan zijn deze verdwenen, maar die heb ik niet zo gauw ontdekt.

Anders draai je onderstaande code eens.
Code:
Sub hsv()
 For Each cl In Columns(17).SpecialCells(2)
  If cl.Value = "" Then cl.Clear
 Next cl
End Sub
 
Laatst bewerkt:
Je kan het ook binnen het geavanceerde filter regelen. Laat in de tab 'Rest' Z1 leeg en zet in Z2
PHP:
=Output!Q2=""

De code zou ik iets anders schrijven
Code:
Sub VenA()
  With Sheets("Rest")
    .Cells(1).CurrentRegion.Clear
    Sheets("Output").Cells(1).CurrentRegion.AdvancedFilter xlFilterCopy, .Range("Z1:Z2"), .Cells(1)
    .Columns.AutoFit
  End With
End Sub
 
Beste VenA ,

Bedankt voor je reactie.

Code werkt perfect, ze is korter en heb de extra kolom T niet nodig in tabblad Output :thumb:
 
Beste,

Kan er ook eens gekeken worden naar volgende code, zie bijlage
De bedoeling is dat ik alle aantallen wil die op elk tabblad in cel AA1 staan en weer te geven naar tabblad Statistieken
Dit wordt elke maand uitgevoerd
De rangschikking van de tabbladen is gelijk aan de rangschikking in kolom B van tabblad Statistieken

Wil volgende code gebruiken maar zit een beetje vast met de For en de Next regels

Code:
Sub Statistieken()

    ScreenUpdating = False
    
    Sheets("Statistieken").Activate
    For J = 5 To Worksheets.Count
        For K = 4 To Range("B150").End(xlUp).Row - 3
            Sheets("Statistieken").Range("v" & K).End(xlToLeft).Offset(0, 1) = Worksheets(J).Range("AA1")
[COLOR="#008000"]'           Sheets("Statistieken").Range("v4").End(xlToLeft).Offset(0, 1) = Sheets("Cat3").Range("AA1")
'           Sheets("Statistieken").Range("v5").End(xlToLeft).Offset(0, 1) = Sheets("CAT4").Range("AA1")
'           Sheets("Statistieken").Range("v6").End(xlToLeft).Offset(0, 1) = Sheets("VOLVO1").Range("AA1")
'           Sheets("Statistieken").Range("v7").End(xlToLeft).Offset(0, 1) = Sheets("VOLVO2").Range("AA1")
'           Sheets("Statistieken").Range("v8").End(xlToLeft).Offset(0, 1) = Sheets("VOLVO3").Range("AA1")[/COLOR]
    
        Next K
    Next J
    ScreenUpdating = True
    MsgBox "Alle gegevens zijn opgeladen", vbOKOnly, "Gegevens"
    
End Sub

Zoals in het groen gekleurd zou het moeten worden, maar dan moet ik ongeveer 130 regels aanmaken
Op tabblad Statistieken staan de eerste 5 al ingevuld zoals het moet zijn.
 

Bijlagen

Wat ben je allemaal aan het doen? Je hebt 1 database de tab 'Output' Deze ga je opsplitsen naar tig verschillende tabjes? Vervolgens moet er weer informatie van gemaakt worden? Gebruik een draaitabel met als bron de tab 'Output'.
 
Beste VenA,

Ik hou niet zo van draaitabellen en mijn collega's ook niet, dat is ieder zijn keuze.
En het is veel meer dan dit.
Met programmeren in Excel kan anderen en ik nog wat van leren.
Mijn vraag is dan ook waar mijn fout zit in de code en hoe aan te passen.
 
Code:
Sub Statistieken()
    For J = 5 To Sheets.Count
      Sheets("Statistieken").Range("v" & J - 1).End(xlToLeft).Offset(, 1) = sheets(J).Range("AA1")
    Next J
 MsgBox "Alle gegevens zijn opgeladen", vbOKOnly, "Gegevens"
End Sub
 
Beste HSV,

Bedankt, daar kan ik weer mee vooruit :thumb:
 
Je kan het altijd nog in een array gooien mocht het traag worden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan