Clever-Excel-Forum

Normale Version: Neue Tabelle gefiltert nach Jahr und Kategorie
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
(21.12.2018, 19:12)Marc Z. schrieb: [ -> ]Kannst du mir das bitte kurz erklären.

Danke.

Bei mir würde das so aussehen A2 und B2 Eingabefelder. Nach Veränderung muss aktualisiert werden... Das Icon kann man sich ja ins Menüband "legen" - so mach ich das...

Arbeitsblatt mit dem Namen 'Tabelle3'
ABC
1Fahrstrecke für:im Jahr:Gesamt:
2A20171783,60
3
4TagWettkampfStrecke
508.01.2017RWK137,20
621.04.2017Training137,20
708.06.2017Training137,20
808.09.2017Vorbereitungskampf137,20
914.09.2017Training137,20
1017.09.2017Vorbereitungskampf0,00
1107.10.2017Mentaltraining / Training137,20
1208.10.2017Mentaltraining137,20
1315.10.2017RWK137,20
1426.10.2017Training137,20
1504.11.2017Training137,20
1612.11.2017RWK137,20
1703.12.2017Training137,20
1810.12.2017RWK137,20

ZelleFormel
C2=SUMME(C5:C18)
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Arbeitsblatt mit dem Namen 'Tabelle3'
ABC
1Fahrstrecke für:im Jahr:Gesamt:
2B20181350,00
3
4TagWettkampfStrecke
506.01.2018Lehrgang135,00
607.01.2018Lehrgang135,00
725.01.2018H&N Cup IWK135,00
827.01.2018H&N Cup IWK135,00
917.02.2018Lehrgang135,00
1018.02.2018Lehrgang135,00
1120.07.2018ArgeAlp in Rif / Österreich135,00
1221.07.2018ArgeAlp in Rif / Österreich135,00
1308.12.2018Sichtungsschieße135,00
1409.12.2018Sichtungsschießen135,00

ZelleFormel
C2=SUMME(C5:C14)
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

oder 

Arbeitsblatt mit dem Namen 'Tabelle3'
ABC
1Fahrstrecke für:im Jahr:Gesamt:
2C2018270,00
3
4TagWettkampfStrecke
503.10.2018Sichtungsschießen270,00

ZelleFormel
C2=SUMME(C5:C5)
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Hallo Marc,

hier mal eine Variante mit

Spezialfilter + Namen --> und Makroaufzeichnung deswegen  .xlsm

Ich hab aus deiner Tabelle eine intelligente gemacht + Zusätzliches Feld Jahr

Parameter eintragen /auswählen  -> Ausführung erfolgt durch einfaches anklicken -> Textfeld dem das Makro zugewiesen wird.

Werte löschen bzw alles auswählen / kopieren  über  Entf-Taste
Hallo, ich habe mir die Datei nicht angesehen, aber das geht auch ohne Extra Spalte für das Jahr. Spezialfilter ist aber schon eine Alternative.
Hallo Marc,

hier mein Vorschlag, der ebenfalls den Spezialfilter (Filter erweitert) nutzt.
Der Kriterienbereich befindet sich im Blatt Fahrstrecke in den Zeilen 3:4 in der Version Filtern mit Funktionen und ist ausgeblendet.

Fahrstrecke

ABCDEFG
1Fahrstrecke für:AGesamt:2353,40 kmim Kalenderjahr2016
2
3
4FALSCHFALSCH
5
6TagOrtWettkampfStrecke
Formeln der Tabelle
ZelleFormel
A4=JAHR(Gesamt!A2)=$F$1
G4=Gesamt!G2=$B$1

Zur automatischen Aktualisierung bei Änderungen in den Zellen B1 oder F1 befindet sich folgendes Ereignismakro im VBA-Modul des Tabellenblattes Fahrstrecke.
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$B$1" Or Target.Address = "$F$1" Then
   Application.ScreenUpdating = False
   Sheets("Gesamt").Columns("A:G").AdvancedFilter _
     Action:=xlFilterCopy, _
     CriteriaRange:=Range("A3:G4"), _
     CopyToRange:=Range("A6:D6"), _
     Unique:=False
   Target.Activate
   Range("D1").Value = Application.Sum(Range("A6").CurrentRegion.Columns(4))
   Application.ScreenUpdating = True
 End If
End Sub
[attachment=21498]

Gruß Uwe
Hi Uwe, wenn SpezialFilter, dann hätte ich es so probiert. Das mit den Formeln hatte ich schon (deswegen meine Anmerkung mit der Extra-Spalte). Aber VBA und ich... Dann doch lieber mit Power Query...
Hallo Uwe,

perfekt! Thumbsupsmileyanim
Danke. Genau sowas habe ich gesucht!

Danke auch an Günter, Jockel und Dieter für die Ansätze. Habe wieder einiges dazu gelernt.  Thumps_up

Jetzt würde nur noch als Ergänzung fehlen, dass ich die Zellen B1 und F1 als Dropdown ohne Duplikate, mit der jeweiligen Spalte aus der Gesamtliste als Quelle, auswählen kann. :)
Also dass ich in B1 nur "A, B, C" zur Auswahl habe und bei F1 nur "2011, 2015, 2016,2017,2018".
Natürlich wenn ich nächstes Jahr neue Einträge mache, sollte sich das Dropdown erweitern...
Hallo Zusammen,

hat jemand eine Idee wie ich das mit den Jahreszahlen hinbekomme?

Ich habe auf meinem Tabellenblatt "Gesamt" eine Spalte mit vielen Datumangaben.
Aus dieser Spalte möchte ich auf ein neues Tabellenblatt "DropDown" eine Spalte erstellen lassen, die nur die Jahreszahlen dieser ersten Spalte wiedergibt und das ganze ohne Duplikate.
Zusätzlich sollte die Spalte dynamisch sein, da im Laufe der Zeit neue Jahreszahlen hinzukommen.
Das ganze sollte mittels VBA funktionieren.

Ziel ist es, diese neue Spalte als dynamische Dropdown Liste zu definieren.

Grüße Marc
Hallo Marc,

folgender Code kommt (zusätzlich) in das VBA-Modul des Tabellenblattes Fahrstrecke:
Private Sub Worksheet_Activate()
 Dim lngZ As Long
 Dim oSCAL As Object
 Dim varL As Variant

 'ArrayList ist ein Objekt von .NET-Framework 3.5
 Set oSCAL = CreateObject("System.Collections.ArrayList")
 
 varL = Application.Transpose(Worksheets("Gesamt").Cells(1).CurrentRegion.Columns(1).Value)
 For lngZ = 2 To UBound(varL)
   If Not oSCAL.Contains(Year(varL(lngZ))) Then oSCAL.Add Year(varL(lngZ))
 Next
 oSCAL.Sort

 With Me.Range("B1").Validation
     .Delete
     .Add Type:=xlValidateList, _
          AlertStyle:=xlValidAlertStop, _
          Operator:=xlBetween, _
          Formula1:=Join(oSCAL.ToArray(), ",")
     .IgnoreBlank = True
     .InCellDropdown = True
     .InputTitle = ""
     .ErrorTitle = ""
     .InputMessage = ""
     .ErrorMessage = ""
     .ShowInput = True
     .ShowError = True
 End With

 varL = Application.Transpose(Worksheets("Gesamt").Cells(1).CurrentRegion.Columns(7).Value)
 oSCAL.Clear
 For lngZ = 2 To UBound(varL)
   If Not oSCAL.Contains(varL(lngZ)) Then oSCAL.Add varL(lngZ)
 Next
 oSCAL.Sort
 
 With Me.Range("F1").Validation
     .Delete
     .Add Type:=xlValidateList, _
          AlertStyle:=xlValidAlertStop, _
          Operator:=xlBetween, _
          Formula1:=Join(oSCAL.ToArray(), ",")
     .IgnoreBlank = True
     .InCellDropdown = True
     .InputTitle = ""
     .ErrorTitle = ""
     .InputMessage = ""
     .ErrorMessage = ""
     .ShowInput = True
     .ShowError = True
 End With
 Set oSCAL = Nothing
End Sub
[attachment=21525]

Gruß Uwe
Hallo Uwe,

aller größten Respekt :35: 

Danke dir.
Seiten: 1 2