uit tabel met cijfers , enkel cellen nemen met een waarde verschillende van nul

Status
Niet open voor verdere reacties.

marccram

Gebruiker
Lid geworden
20 dec 2015
Berichten
40
Hey

Ik heb een range E10 tot K60

In de kolom E staan de "hoofdingen" van de rijen
In de rij 10 staan de "hoofdingen" van de kolommen

In de range F11 tot K60 staan cijfers ( en sommige cijfers kunnen nul zijn )

vraag : * een nieuwe "tabel" maken ( beginnend op bijv E70 )
* met alle rijen en kolommen met een cijfers verschillend van nul
* in kolom E staan alle hoofdingen van de rijen ( de rijen met ergens een cijfer verschillend van nul )
* in rij 70 staan alle hoofdingen van de kolommen ( de kolommen met ergens een cijfer verschillend van nul )
* de grootte van de range is ook variable ( het is mogelijk dat K60 uitgebreid of verkleind wordt bijv K60 kan K100 worden of P75 of I35 )
( als dit alles het te complex maakt kan/wil ik ook de vertrek range dadelijk groot genoeg maken bijv Z100 )


Ik wil niet werken met een draaitabel ( want dan moet dit de gebruiker weer aangeleerd worden )


Hoe dit opgelost worden via formules en/of VBA ?
 
Hoe kan dit beantwoord worden zonder voorbeeldbestand (is dit je eerste vraag in dit forum ? ) ?
 
excell sheet met voorbeeld van het gevraagde

Mijn excuses indien mijn vraag onduidelijk was.
In bijlage een excell sheet met een voorbeeld van het gevraagde
 

Bijlagen

Als je het met een Macro wilt oplossen zou mijn advies zijn dat je met 2 sheets in het workbook gaat werken.

1e sheet is de 'vertrek tabel'
en de 2e sheet bevat de 'gevraagde tabel'

Voordeel hiervan is dat je aan het begin van de macro de 2e sheet kunt deleten en een nieuwe opbouwen.
 
Volgens mij past het voorbeeldje niet echt bij de vraag dus zal je het eea aan moeten passen.

Met het geavanceerde filter en de uitkomsten in 'Sheet1'

Code:
Sub VenA()
  Dim j As Integer
  Application.ScreenUpdating = False
  Sheet2.Cells(1).CurrentRegion.Clear
  With Sheet1
    .Range("N1:S1") = .Range("F6:K6").Value
    .Range("N2,O3,P4,Q5,R6,S7") = "<>0"
    .Range("E6").CurrentRegion.AdvancedFilter xlFilterCopy, .Range("N1:S7"), Sheet2.Cells(1)
    .Range("N1:S7").ClearContents
  End With
  For j = 2 To 7
    If Application.Sum(Sheet2.Columns(j)) = 0 Then Sheet2.Columns(j).Delete
  Next
End Sub
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan