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

Complexe vraag verplaatsen van input

Status
Niet open voor verdere reacties.

WMZ2020

Gebruiker
Lid geworden
18 dec 2020
Berichten
34
Goedenavond mensen,

Ik zit met een nog al rare vraag,heb geen idee hoe ik het moet formuleren of waar ik het antwoord moet zoeken,maar ik ga m'n best doen.
Ik wil graag maand cijfers ordenen op regio(plaats) en de top 50 in een aparte sheet.

Uit het sytsteem SAP krijg ik de volgende info aan het einde van de maand

Klantnr= en plaatsnaam dit is een vast gegeven
afname - per maand

Nu is mijn vraag wanneer ik de data (klantnr en regio ingeef) dat de deze dat automatisch naar de goede sheet gaat?
Hoe realiseer ik dit ?

b.v.:

Naam: Regio Klant nr:

Jansen oost 10 dat deze dan automatisch met de data in de sheet van OOST komt:



En wanneer de totalen van de sheet worden bekeken bv de beste 25 of 50 automatisch in de sheet van Top 50 komen.

Filteren op regio/plaatsnaam : dus alles met Oost dat dat in de sheet met oost komt ,en West in de sheet van West

De jaartallen geef ik eenmaal handmatig in.
 

Bijlagen

Laatst bewerkt:
Als je met een genormaliseerde tabel werkt dan zijn de analyses eenvoudig via een draaitabel te maken.
 
Hier alvast een methode om je data in de juiste sheet te zetten. Het komt eigenlijk gewoon neer op filteren op sheet 1. De data wil je nu dubbel verzamelen.
Je top 50 kun je simpelweg sorteren op de laatste kolom in het eerste tabblad, je invulscherm

Code:
Sub j_v()
 With Sheets("Invulscherm").ListObjects(1).DataBodyRange
  ar = Array("Noord", "Oost", "Zuid", "West")
   For Each it In ar
    .AutoFilter 3, it
    .Resize(, 16).Copy Sheets(it).Cells(Rows.Count, 1).End(xlUp).Offset(1)
   Next
    .AutoFilter
 End With
End Sub
 
Laatst bewerkt:
Nog een alternatief zonder de copy, doet hetzelfde maar schrijft het in ene weg.

Code:
Sub j_v2()
 With Sheets("Invulscherm").ListObjects(1).DataBodyRange
  ar = Array("Noord", "Oost", "Zuid", "West")
   For Each it In ar
    .AutoFilter 3, it
     jv = .SpecialCells(12)
     Sheets(it).ListObjects(1).ListRows.Add.Range.Resize(.Columns(1).SpecialCells(12).Count) = jv
   Next
    .AutoFilter
 End With
End Sub
 
En dat is nou juist wat je niet moet doen: soortgelijke gegevens op verschillende plaatsen (werkbladen, werkboeken, directories) opslaan.
Het heeft nl. geen zin gegevens op te slaan die je verder niet wil gebruiken.
Wil je gegevens gebruiken (voor analyses/overzichten, bijv.), dan is het heel onhandig (to put it mildly) om die verspreide gegevens daarvoor weer bij elkaar te moeten harken.

De ene helft van de vragen hier gaat over het splitsen (zoals deze vraag), de andere over het bij elkaar harken.

Bedenk dat die 'splitsingsneiging' voortkomt uit 'papier'denken: gegevens opslaan op fiches, memoriaalboeken, etc. Met automatisering moet het papierdenken losgelaten worden omdat automatisering ingebouwde zoek-, filter-, sorteer-, reken-, grafische- en analysefunkties bevat.
 
Laatst bewerkt:
@JVeer, heb de codes geprobeerd in VBA maar kan ze niet werkend krijgen, wat kan dat zijn?
Zou iemand mij kunnen assisteren?
 
Als je je bestand plaatst waar het mis gaat vast wel
 
Je hebt een xlsx bestand geplaatst. Dan is je macro weg.
 
ah,idd! vergeten om op opslaan te drukken!! thanks..wake-up call!!!
 
Ben,gered.!! het functioneer!!! wat als ik b.v. de regio's door plaatsnamen wil vervangen ,moet ik dan de plaatsnaam in de code zetten en hoe koppel ik deze aan de sheet?
 
Top, alles werkt zoals ik gewenst heb! dankje! Mocht ik de macro willen aanpassen naar b.v. 2 plaatsnamen per sheet. met als voorbeeld i.p.v. (oost) wil ik de plaatsnamen Zwolle / Ommen in die datasheet?

Hoe bouw ik deze dan op?
 
Door de suggesties in #2 en #5 eens goed te lezen en het tot je door te laten dringen?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan