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

database: lege regels verwijderen

Status
Niet open voor verdere reacties.

sjoerd81

Gebruiker
Lid geworden
24 jul 2009
Berichten
161
Hallo,

Voor mijn werk ben ik een database aan het opzetten in excel. Nu loop ik tegen het volgende probleem aan.

Het document bestaat uit vier tabbladen. In het tabblad "database" staan alle gegevens. Middels nummering in de kolommen A, B en C, wil ik de gegevens in de daarvoor bestemde tabbladen laten terugkomen. Hoe krijg ik de gegevens in het juiste tabblad, waarbij lege regels worden vermeden?

Bij voorbaat dank voor alle hulp!
Sjoerd
 

Bijlagen

Hallo,

Ik heb iets met een lijst en kopieren gedaan de macro kan je voor de andere tabs aanpassen.


Groet Dennis
 

Bijlagen

database

1) als je de namen een uniek nummer (klantnummer) geeft kun je deze gegevens met vert.zoeken ophalen.

2) uitgebreide filter en copieren naar ander werkblad (in excel 2007)
copieren (van het filterresultaat) naar een ander werkblad kan in de oudere versies niet.

3) met het ophalen uit de database met een formule, waar je het begin aan gemaakt hebt.
deze beheers ik onvoldoende om jouw de oplossing te maken.

met vriendelijke groeten,

Oeldere
 
....
2) uitgebreide filter en copieren naar ander werkblad (in excel 2007)
copieren (van het filterresultaat) naar een ander werkblad kan in de oudere versies niet.
.....
In oudere versies van excel (2003 iig) bestaat het uitgebreid/geavanceerd filter ook al.;)
 
Hierbij een oplossing met een matrix formule (zoals je zelf al wou geloof ik).
Ik heb 3 dynamische bereiken gemaakt, zodat er niet onnodig veel gerekend hoeft te worden.
De formules staan op de 3 werkbladen in cel A2, en heb ik alvast een paar cellen doorgetrokken naar rechts en beneden. Dit kan je zelf verder doen.
 

Bijlagen

@oeldere
2) uitgebreide filter en copieren naar ander werkblad (in excel 2007)
copieren (van het filterresultaat) naar een ander werkblad kan in de oudere versies niet.

Herstel... uitgebreid filter
Blad1.usedrange.advancedfilter, xlfiltercopy, ,[Blad2!A1]
kan kopiëren naar ieder gewenst werkblad, in ieder geval vanaf Excel 2000.
 
In oudere versies van excel (2003 iig) bestaat het uitgebreid/geavanceerd filter ook al.;)
Klopt! Maar dan kan je de gefilterde data alleen naar een plek verplaatsen in DEZELFDE sheet (in tegenstelling tot wat ik begrijp over Excel2007).

Groet, Leo
 
@oeldere


Herstel... uitgebreid filter
Blad1.usedrange.advancedfilter, xlfiltercopy, ,[Blad2!A1]
kan kopiëren naar ieder gewenst werkblad, in ieder geval vanaf Excel 2000.
Heu??? Kan DAT met vba wel??? Grappig!

Groet, Leo
 
Klopt! Maar dan kan je de gefilterde data alleen naar een plek verplaatsen in DEZELFDE sheet (in tegenstelling tot wat ik begrijp over Excel2007).

Groet, Leo
Is dat zo??? Ik kan het niet meer checken, ik ben compleet over op 2007.
 
uitgebreide filter

klopt, dat is wat ik heb proberen te zeggen in post #3.

de uitkomst van de uitgebreide filter kan in de oudere versies alleen op hetzelfde werkblad worden weergegeven.

Met vriendelijke groeten,

Oeldere
 
Test deze eens uit. Om snb te steunen eentje met uitgebreid filter over drie werkbladen.
 

Bijlagen

waarden wegschrijven

deze werkt bij mij ook (office 2003?:o?).

hoe heb je dat gedaan met de knop waarden wegschrijven?

met vriendelijke groeten,

Oeldere
 
klopt, dat is wat ik heb proberen te zeggen in post #3.

de uitkomst van de uitgebreide filter kan in de oudere versies alleen op hetzelfde werkblad worden weergegeven.

Volgens mij gaat dit al vanaf Excel 97

Joske
 
@ Oeldere
Wat bedoel je juist ? De macro staat toch achter tabblad Database.
 
Er blijkt een discrepantie tussen de mogelijkheden van uitgebreid filter (advancedfilter) in de UserInterface en VBA.
Van de beperkingen van de UserInterface was ik mij niet bewust, omdat ik dit soort akties altijd via VBA afwikkel.

Na een test met Excel 2000 blijkt dat het in de userface wel mogelijk is met het uitgebreidfilter-hulpscherm een lokatie op een ander werkblad te kiezen (wat natuurlijk erg slordig is), waarna na de klik op de OK-knop pas de melding komt dat de aktie niet kan worden uitgevoerd. Ik vermoed dat de Excel-ontwikkelaars een foutmelding voor de UserInterface hebben laten staan, terwijl de funktionaliteit was gewijzigd/uitgebreid.

Het lijkt heel erg op het verschijnsel validatielijsten, waarbij ook de beperking is dat de lijsten op hetzelfde werkblad moeten staan. In een object-georiënteerd zou dat natuurlijk geen enkele rol mogen spelen. Consistentie is niet de sterkste kant van MS-produkten.
 
@ Oeldere
Wat bedoel je juist ? De macro staat toch achter tabblad Database.

waarschijnlijk heb ik niet goed genoeg gekijken (ik ben niet zo goed thuis in VBA; dit komt op termijn nog wel)

ik vind deze code, dus het werkt. :thumb:

Code:
Private Sub CommandButton1_Click()
    For i = 1 To 3
    Range(Choose(i, "aj2", "ak2", "al2")).Value = i
    Sheets(i).[A1].CurrentRegion.ClearContents
    [a3].CurrentRegion.AdvancedFilter xlFilterCopy, [aj1:bb2], Sheets(i).[A1]
    Range(Choose(i, "aj2", "ak2", "al2")).ClearContents
    Next
End Sub

Perfect dat je nog even heb gereageerd. :thumb::thumb::thumb:

met vriendelijke groeten,

Oeldere
 
Werkelijk geweldig al deze reacties.:thumb:
Iedereen bedankt voor de bijdrages, hier kan ik zeker mee verder.:D

Sjoerd
 
@Oeldere

om je alvast te helpen:

De code
Code:
Private Sub CommandButton1_Click()
    For i = 1 To 3
    Range(Choose(i, "aj2", "ak2", "al2")).Value = i
    Sheets(i).[A1].CurrentRegion.ClearContents
    [a3].CurrentRegion.AdvancedFilter xlfiltercopy, [aj1:bb2], Sheets(i).[A1]
    Range(Choose(i, "aj2", "ak2", "al2")).ClearContents
    Next
End Sub

kan ook zo:

Code:
Private Sub CommandButton1_Click()
  For i = 1 To 3
    [AJ1].currentregion.rows(2).clearcontents
    [AJ1].offset(1,i-1)=i
    Sheets(i).[A1].Usedrange.ClearContents
    [A3].CurrentRegion.AdvancedFilter xlFilterCopy, [AJ1].currentregion, Sheets(i).[A1]
  Next
End Sub
of zo
Code:
Private Sub CommandButton1_Click()
  With cells(1,36)
    For i = 1 To 3
      .currentregion.rows(2).clearcontents
      .offset(1,i-1)=i
      Sheets(i).[A1].Usedrange.ClearContents
      [A3].CurrentRegion.AdvancedFilter 2, .currentregion, Sheets(i).[A1]
    Next
  End With
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan