(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' |
| A | B | C |
1 | Fahrstrecke für: | im Jahr: | Gesamt: |
2 | A | 2017 | 1783,60 |
3 | | | |
4 | Tag | Wettkampf | Strecke |
5 | 08.01.2017 | RWK | 137,20 |
6 | 21.04.2017 | Training | 137,20 |
7 | 08.06.2017 | Training | 137,20 |
8 | 08.09.2017 | Vorbereitungskampf | 137,20 |
9 | 14.09.2017 | Training | 137,20 |
10 | 17.09.2017 | Vorbereitungskampf | 0,00 |
11 | 07.10.2017 | Mentaltraining / Training | 137,20 |
12 | 08.10.2017 | Mentaltraining | 137,20 |
13 | 15.10.2017 | RWK | 137,20 |
14 | 26.10.2017 | Training | 137,20 |
15 | 04.11.2017 | Training | 137,20 |
16 | 12.11.2017 | RWK | 137,20 |
17 | 03.12.2017 | Training | 137,20 |
18 | 10.12.2017 | RWK | 137,20 |
Zelle | Formel |
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' |
| A | B | C |
1 | Fahrstrecke für: | im Jahr: | Gesamt: |
2 | B | 2018 | 1350,00 |
3 | | | |
4 | Tag | Wettkampf | Strecke |
5 | 06.01.2018 | Lehrgang | 135,00 |
6 | 07.01.2018 | Lehrgang | 135,00 |
7 | 25.01.2018 | H&N Cup IWK | 135,00 |
8 | 27.01.2018 | H&N Cup IWK | 135,00 |
9 | 17.02.2018 | Lehrgang | 135,00 |
10 | 18.02.2018 | Lehrgang | 135,00 |
11 | 20.07.2018 | ArgeAlp in Rif / Österreich | 135,00 |
12 | 21.07.2018 | ArgeAlp in Rif / Österreich | 135,00 |
13 | 08.12.2018 | Sichtungsschieße | 135,00 |
14 | 09.12.2018 | Sichtungsschießen | 135,00 |
Zelle | Formel |
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' |
| A | B | C |
1 | Fahrstrecke für: | im Jahr: | Gesamt: |
2 | C | 2018 | 270,00 |
3 | | | |
4 | Tag | Wettkampf | Strecke |
5 | 03.10.2018 | Sichtungsschießen | 270,00 |
Zelle | Formel |
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 | A | B | C | D | E | F | G |
1 | Fahrstrecke für: | A | Gesamt: | 2353,40 km | im Kalenderjahr | 2016 | |
2 | | | | | | | |
3 | | | | | | | |
4 | FALSCH | | | | | | FALSCH |
5 | | | | | | | |
6 | Tag | Ort | Wettkampf | Strecke | | | |
Formeln der Tabelle |
Zelle | Formel | 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!
Danke. Genau sowas habe ich gesucht!
Danke auch an Günter, Jockel und Dieter für die Ansätze. Habe wieder einiges dazu gelernt.
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.