Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zugriff auf die Pivot Tab. nach Abfrage

Zugriff auf die Pivot Tab. nach Abfrage
22.03.2022 10:39:29
Nader
Hallo zusammen,
folgender Code:
Option Explicit

Private Sub CommandButton1_Click()
Unload UF_Status_Vorbestellungen
End Sub

Private Sub CommandButton2_Click()
'Teil (1) Pivot Tabelle aktualisieren
Sheets("Tabelle4").Activate
ThisWorkbook.RefreshAll
'Teil (2) Eingabe vom Datum über Inputbox
Dim FindString As String
Dim Rng As Range
FindString = InputBox("Datum eingeben!")
If Trim(FindString)  "" Then
With Sheets("Tabelle1").Range("A:A") 'searches all of column A
Set Rng = .Find(What:=FindString, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then                                           'Mein Problembereich fängt hier an!!!!
Application.Goto Rng, True 'value found
Else
MsgBox "Nothing found" 'value not found
End If
End With
Dim num As String
num = InputBox(prompt:="Datum", Title:="Datum eingeben")
Sheets("Tabelle4").PivotTables("PivotTable1") _
.PivotFields("Datum").CurrentPage = num
End If
End Sub

Private Sub UserForm_Initialize()
'Anzeigen ListBox1
Dim lLetzte1  As Long
Application.ScreenUpdating = False
ListBox1.Clear
With Worksheets("Tabelle4")
lLetzte1 = .Cells(Rows.Count, 1).End(xlUp).Row
With Me.ListBox1
.ColumnCount = 2
' ListBox1.Selected(0) = True
.ColumnHeads = False
.Font.Size = 18
ListBox1.RowSource = "Tabelle4!A1:K1" & lLetzte1
End With
End With
Application.ScreenUpdating = True
ListBox1.ColumnWidths = "18,0 Cm;8,0 Cm"
End Sub
(1). Eingabe "Datum" mit Find und anschließende Suche in der Tabelle erfolgt, ob vorhanden oder nicht (kein Problem).
(2). Danach funktioniert leider der Zugriff auf die Pivot Tabelle nicht richtig, da ich mit Abfragen nicht zurecht
komme und die Aktualisierung der Pivot Tabelle nicht mehr stattfindet.
Über jede auch so kleine Hilfe wäre ich sehr dankbar
Vielen Dank

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriff auf die Pivot Tab. nach Abfrage
22.03.2022 17:37:46
Yal
Hallo Nader,
was kommt für ein Code raus, wenn Du die Filterung der Pivot per Hand unter laufenden Makrorekorder machst?
VG
Yal
AW: Zugriff auf die Pivot Tab. nach Abfrage
22.03.2022 19:09:09
Nader
Hallo Yal, vielen Dank für die schnelle Antwort
per Hand meinst du eine beliebige Auswahl aus der Filterung der Pivot? Wenn ich Beispielweise ein beliebiges Datum anklicke?
Dann erscheint auch die dazugehörige Infos vollständig.
Mein Problem ist: Nachdem über erste Inputbox ein Datum eingegeben wurde, wird in der Tabelle1 danach gesucht und falls das Datum existiert, auch angezeigt aber
mein Problem ist die Abfrage, welche im Falle "ja Datum existiert" auch der Zugriff auf die Pivot-Tabelle (Tabelle4) ermöglicht.
Ich weiß nicht, ob ich das Problem verständlich dargestellt habe.
Die Aktualisierung der Pivot auch nach einer Neueingabe funktioniert tadellos, nur die Formulierung einer Abfrage, "Datum" existiert, dann .............., oder existiert nicht, dann.......... funktioniert nicht!
Wünsche dir einen schönen Abend noch
Gruß
Nader
Anzeige
AW: Zugriff auf die Pivot Tab. nach Abfrage
22.03.2022 21:25:43
Yal
Hallo Nader,
probier so

Private Sub CommandButton2_Click()
Dim SuchDatum As Variant
Dim Rng As Range
'Teil (1) Pivot Tabelle aktualisieren
Sheets("Tabelle4").Activate
ThisWorkbook.RefreshAll
'Teil (2) Eingabe vom Datum über Inputbox
SuchDatum = InputBox("Datum eingeben!")
If IsDate(SuchDatum) Then
With Sheets("Tabelle1").Range("A:A") 'searches all of column A
Set Rng = .Find(What:=CStr(SuchDatum), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then                                           'Mein Problembereich fängt hier an!!!!
Application.Goto Rng, True 'value found
Sheets("Tabelle4").PivotTables("PivotTable1").PivotFields("Datum").CurrentPage = SuchDatum
Else
MsgBox "Nothing found" 'value not found
End If
End With
End If
End Sub
Alternativ: setze eine Datum in der Pivot und nutzt diese Werte. Sie ist dann auf alle Fälle vorhanden.
VG
Yal
Anzeige
AW: Zugriff auf die Pivot Tab. nach Abfrage
25.03.2022 13:42:40
Nader
Vielen Dank Yal es funktioniert jetzt tadellos
Dies ist ein kleiner Teil von einem etwas größeren Programm.
Das Hauptprogramm basiert auf Vorbestellungen (Kunden) einer Taxizentale, wobei auch Programmteile 100% korrekt funktionieren.
Allerdings habe ich vor, eine Kleinigkeit zu ändern, nämlich automatisches Anzeigen von den Vorbestellungen, welche innerhalb der
nächsten 15 Minuten fällig sind. Die momentane Listenanzeige ist eine Gesamtliste mit den Daten: Datum-Uhrzeit-Vorlauf-Fälligkeit-Adressen und andere Daten.
Die Aktualisierung der Fälligkeit habe ich auf alle 10 Sekunden eingestellt, was auch wunderbar auf dem Bildschirm angezeigt wird.
Meine Frage ist jetzt: Gibt es in Visual Basic eine Möglichkeit, damit alle fälligen Vorbestellungen, die in der nächsten 15 Minuten fällig sind
automatisch auf dem Bildschirm erscheinen? (Ohne Tastendruck)
Falls du eine Idee hast, wäre ich dir sehr dankbar.
Ich möchte mich noch Einmal für deine Hilfsbereitschaft und Freundlichkeit bedanken.
Wünsche dir einen schönen Tag noch
Viele Grüße
Nader
Anzeige
AW: Zugriff auf die Pivot Tab. nach Abfrage
25.03.2022 14:11:44
Yal
Hallo Nader,
im Prinzip hast Du eine Liste. In einer Zeile (und nur eine Zeile) sind alle Information über was gebucht wurde. In Jede Spalte nur eine Information
Auf diese Liste legst Du eine aktive Tabelle (Menü "Einfügen", "Tabelle"). Diese bewirkt, dass wenn eine neue Zeile am Ende hinzugefügt, alle Formeln sich automatisch erweitern, aber auch andere Elemente wie Abfrage und Pivottabelle den neuen Datensatz auch wahrnehmen.
Darauf hast Du sofort Filter- und Sortierungsfunktion. Formeln sollten sich nur auf Information der eigene Zeile beziehen, oder so sein, dass sie vom Sortierung nicht durcheinander kommen.
Solltest Du ein Teil Information davon brauchen, z.b. nur die anstehenden Fahrten, so verwendest Du darauf eine Power Query Abfrage (Menü "Daten", "Aus Tabelle"). Solche Abfragen lassen sich mit Alt+F5 aktualisieren und berücksichtigen immer der aktuelle Stand deine Daten.
Siehe https://excelhero.de/power-query/power-query-ganz-einfach-erklaert/
Keine Formeln, kein VBA, kein Stress.
VG
Yal
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige