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

Lege regels verwijderen en tekst opschuiven.

Status
Niet open voor verdere reacties.

Basbrommer

Gebruiker
Lid geworden
3 mei 2005
Berichten
101
Hallo,

Ik wil graag een overzicht hebben waarin alleen de mensen die een saldo hebben geplaatst worden. Nu komt iedereen aanbod en bij geen saldo wordt de naam ook niet geplaatst, maar die regel blijft nu leeg. Graag wil ik dat dit wordt opgeschoven zodat alles strak onder elkaar staat. Bij meer leden komt dit overzicht anders in gedrang.
Daarnaast is mijn code erg lang en kan het korter, maar ik weet niet hoe. (maar dat is ook niet zo belangrijk, het want werkt ;) )

Wie wil mij hierbij helpen?

Groeten Bas


Code:
Sub SaldoLeden()
'variabelen
    Dim Naam01 As String
    Dim Naam02 As String
    Dim Naam03 As String
    Dim Naam04 As String
    Dim Naam05 As String
    Dim Naam06 As String
    Dim Naam07 As String
    Dim Naam08 As String
    Dim Naam09 As String
    Dim Naam10 As String
    Dim Naam11 As String
    Dim Naam12 As String
    Dim Naam13 As String
    Dim Naam14 As String
    Dim Naam15 As String
    Dim Saldo01 As Long
    Dim Saldo02 As Long
    Dim Saldo03 As Long
    Dim Saldo04 As Long
    Dim Saldo05 As Long
    Dim Saldo06 As Long
    Dim Saldo07 As Long
    Dim Saldo08 As Long
    Dim Saldo09 As Long
    Dim Saldo10 As Long
    Dim Saldo11 As Long
    Dim Saldo12 As Long
    Dim Saldo13 As Long
    Dim Saldo14 As Long
    Dim Saldo15 As Long
'Namen in het geheugen plaatsen.
    Naam01 = ([NP!CA23])
    Naam02 = ([NP!CA24])
    Naam03 = ([NP!CA25])
    Naam04 = ([NP!CA26])
    Naam05 = ([NP!CA27])
    Naam06 = ([NP!CA28])
    Naam07 = ([NP!CA29])
    Naam08 = ([NP!CA30])
    Naam09 = ([NP!CA31])
    Naam10 = ([NP!CA32])
    Naam11 = ([NP!CA33])
    Naam12 = ([NP!CA34])
    Naam13 = ([NP!CA35])
    Naam14 = ([NP!CA36])
    Naam15 = ([NP!CA37])
'Saldo berekenen per lid.
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam01
    Saldo01 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam02
    Saldo02 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam03
    Saldo03 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam04
    Saldo04 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam05
    Saldo05 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam06
    Saldo06 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam07
    Saldo07 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam08
    Saldo08 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam09
    Saldo09 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam10
    Saldo10 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam11
    Saldo11 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam12
    Saldo12 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam13
    Saldo13 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam14
    Saldo14 = [Totaal!K13] + [Totaal!L13]
    [Totaal!B14:N3000].AutoFilter Field:=3, Criteria1:=Naam15
    Saldo15 = [Totaal!K13] + [Totaal!L13]
'Naam en Saldo op het scherm plaatsen.
    Sheets("Start").Select
    Range("U10:X24").ClearContents
    If Naam01 <> "" And Saldo01 <> 0 Then
        Range("U10") = Naam01
        Range("X10") = Saldo01
    End If
    If Naam02 <> "" And Saldo02 <> 0 Then
        Range("U11") = Naam02
        Range("X11") = Saldo02
    End If
    If Naam03 <> "" And Saldo03 <> 0 Then
        Range("U12") = Naam03
        Range("X12") = Saldo03
    End If
    If Naam04 <> "" And Saldo04 <> 0 Then
        Range("U13") = Naam04
        Range("X13") = Saldo04
    End If
    If Naam05 <> "" And Saldo05 <> 0 Then
        Range("U14") = Naam05
        Range("X14") = Saldo05
    End If
    If Naam06 <> "" And Saldo02 <> 0 Then
        Range("U15") = Naam06
        Range("X15") = Saldo06
    End If
    If Naam07 <> "" And Saldo02 <> 0 Then
        Range("U16") = Naam07
        Range("X16") = Saldo07
    End If
    If Naam08 <> "" And Saldo08 <> 0 Then
        Range("U17") = Naam08
        Range("X17") = Saldo08
    End If
    If Naam09 <> "" And Saldo09 <> 0 Then
        Range("U18") = Naam09
        Range("X18") = Saldo09
    End If
    If Naam10 <> "" And Saldo10 <> 0 Then
        Range("U19") = Naam10
        Range("X19") = Saldo10
    End If
    If Naam11 <> "" And Saldo11 <> 0 Then
        Range("U20") = Naam11
        Range("X20") = Saldo11
    End If
    If Naam12 <> "" And Saldo12 <> 0 Then
        Range("U21") = Naam12
        Range("X21") = Saldo12
    End If
    If Naam13 <> "" And Saldo13 <> 0 Then
        Range("U22") = Naam13
        Range("X22") = Saldo13
    End If
    If Naam14 <> "" And Saldo14 <> 0 Then
        Range("U23") = Naam14
        Range("X23") = Saldo14
    End If
    If Naam15 <> "" And Saldo15 <> 0 Then
        Range("U24") = Naam15
        Range("X24") = Saldo15
    End If
End Sub
 
Als er altijd wat staat in cel U19 zet de code de boel onder elkaar en maakt het geen lege regels.
Code:
cells(rows.count,21).end(xlup).offset(1) = naam01
cells(rows.count,21).end(xlup).offset(,1) = saldo01

Je vraagt of de code korter kan.
Ik heb geen zin om je bestandje na te bootsen, dus als je een bestandje upload, kan er altijd naar gekeken worden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan