Excel tabel splitsen in tabblad per lijn

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Marleendp
  • Registratie: Oktober 2023
  • Laatst online: 15-10-2023
Excel tabel opsplitsen in tabblad per lijn
...
Excel

.....

Beste,

We hebben een tabel met informatie per klant per lijn type:

Klant x, land, betalingstermijn, verkoop 2022, verkoop 2023, ...
Klant y, land, betalingstermijn,...
Klant z, land,....
Tabel is ong. 150 lijnen.

Nu hebben we binnenkort vergadering om al deze klanten te bespreken met verschillende stakeholders.
Daarom wil ik graag per lijn (dus klant) een aparte tab maken waar een soort van klantenfiche opkomt. Op die manier hebben we een mooi overzicht per klant om aan management te presenteren.
Hoe pakt ik dit het beste aan? Individuele tabs maken en werken met vlookup op basis van het klantennummer zou enorm veel tijd vragen.
Ik meen me te herinneren dat je ook met een sequence nummer kan werken maar raak er niet aan uit.

Het is de bedoeling om de file eenmalig op te zetten en dan als template op te slaan om later te hergebruiken voor andere regio's/volgende fiscale jaren.
Alvast heel hartelijk bedankt voor wat advies

Alle reacties


Acties:
  • +3 Henk 'm!

  • aburrir
  • Registratie: Januari 2005
  • Laatst online: 06:01
Is een nieuw tabblad maken met hierop meerdere draaitabellen/grafieken gekoppeld aan dezelfde slicer een idee? Dan selecteer je in je slicer op klant en verandert je draaitafel/grafiek mee

Acties:
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Om 150 bladen aan te maken, lijkt mij een macro daarvoor gebruiken de meest aangewezen weg. Dat kan met een For-Nextlus. Na het aanmaken van elk blad (dat je met de macro als naam de klantnaam geeft) kopieer je de benodigde gegevens van de bewuste klant naar dat blad. Afhankelijk van hoe je gegevens in blad1 staan kan dat door 1 range te kopiëren, of cel per cel, eveneens met een For-Nextlus.

Acties:
  • 0 Henk 'm!

  • GRDavies75
  • Registratie: December 2014
  • Laatst online: 01-10 14:42

GRDavies75

PSN-id: GRDavies

aburrir schreef op zaterdag 14 oktober 2023 @ 16:06:
Is een nieuw tabblad maken met hierop meerdere draaitabellen/grafieken gekoppeld aan dezelfde slicer een idee? Dan selecteer je in je slicer op klant en verandert je draaitafel/grafiek mee
Ik zou het ook zo oppakken, iets met eventueel Power Query handelingen het datamodel intrekken (al dan niet gesegmenteerd op bepaalde data-onderwerpen) en dan via DAX de nodige metrieken bouwen. Power Pivot for the win zeg maar.

Wat veel mensen niet weten is dat je ook draaitabellen/-grafieken kan kopiëren, maak dan nog een 2e slicer en zet ze onder elkaar voor bepaalde hoofdmetrieken zodat je 2 klanten met elkaar vergelijken.

Ik betwijfel hardop of 150 klanten bespreken in een vergadering wel realistisch is, er zal/zullen vast wel bepaalde antwoorden/insights/doelen/etc gezocht worden tijdens zo'n vergadering. Doe dan of vooraf aan de vergadering een wat gerichter onderzoek welke klanten relevant / meer interessanter zijn / tijd-aandacht vs RoI / e.d. en produceer voor die klanten eventueel een individueel 'dashbordje'. Oh, moet klant X er ook bij? Copy-C en Copy-V, filterje/slicer aanpassen en klaar is Klara.

Acties:
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Als de 150 rijen met gegevens in het eerste blad staan, kun je onderstaande macro gebruiken:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub macro1()
Dim lc As Integer, lr As Integer, x As Integer, myrange1 As Range, myrange2 As Range
Application.ScreenUpdating = False
With Sheets(1)
lr = .Cells(.Rows.Count, 1).End(xlUp).Row
lc = .Cells(1, .Columns.Count).End(xlToLeft).Column
End With
For x = 2 To lr
With Sheets(1)
Set myrange1 = .Range(.Cells(1, 1), .Cells(1, lc))
Set myrange2 = .Range(.Cells(x, 1), .Cells(x, lc))
ThisWorkbook.Sheets.Add(after:=Sheets(Sheets.Count)).Name = .Cells(x, 1).Value
End With
With Sheets(Sheets.Count)
.Range(.Cells(1, 1), .Cells(lc, 1)) = Application.WorksheetFunction.Transpose(myrange1)
.Range(.Cells(1, 2), .Cells(lc, 2)) = Application.WorksheetFunction.Transpose(myrange2)
.Range(.Cells(4, 2), .Cells(5, 2)).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
.Columns("A:B").AutoFit
End With
Next x
Application.ScreenUpdating = True
End Sub

[ Voor 3% gewijzigd door dix-neuf op 17-10-2023 19:58 ]


Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Aanvullende info: In bovenstaande macro is ervan uitgegaan dat de tabel met gegevens in het eerste blad kopteksten bevat, zoals in onderstaande afbeelding.
Afbeeldingslocatie: https://tweakers.net/i/kWHFFvrk8a7j-OQl8-CG1L64bR8=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/6rSGlgsmZ9Cq2zbZXlSp8d0N.jpg?f=user_large

Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Én Marleen,
is het gelukt?

Acties:
  • +1 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Ze neemt blijkbaar niet meer de moeite om langs te komen / reageren op de mensen die helpen. :X
@Marleendp voor een volgende keer: Dat is dus erg niet hoe een forum als het onze werkt. We zijn hier heel erg van het tweewegverkeer.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Esje
  • Registratie: Juli 2024
  • Laatst online: 03-07-2024
Marleen misschien niet, maar mij wel...SUPER :)
Pagina: 1