Clever-Excel-Forum

Normale Version: Ausblenden von Comboboxen und Textboxen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo

Die Coronakrise schmeißt einen total aus der Bahn.
Erstmal nochmals vielen vielen lieben für die Hilfe mit dem ausblenden der Boxen, das klappt nun super wie ich mir das vorgestellt habe.

Jetzt benötige ich wiederum eure super Hilfe.
Mein Problem ist wie folgt:
Habe mehre Power Query Tabellen, diese  PQs werden immer wieder aktualisiert was auch klappt.
Die Comboboxen aus meiner Beispieldatei fülle ich mit Daten aus diesen PQs, was ganz gut nun klappt.

Nun möchte ich gerne folgendes:

Wähle ich in Combobox 8 zb die 1 aus,
fühle nun Combobox und Textbox 1 
Drücke ich nun auf den einfüge Button trägt er mir diese Daten in die richtigen Spalten, das klappt noch.
Wie mache ich das, das jetzt nur die PQ Tabelle 1 aktualisiert wird beim eintragen?? 
Die restlichen PQ Tabellen sollen jetzt nicht aktualisiert werden wenn ich die 1 ausgewählt habe in der Combobox 8.

Wähle ich nun die 2 aus in Combobox 8 so soll beim einfügen nur PQ Tabelle 2 aktualisieren.
usw.

Wer könnte mir behilflich sein??
Hallöchen,

wenn Du die Namen der Pivottabbellen verwenden kannst dann im Prinzip z.B. so

ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
Hallo schauan

Erstmal danke für deine Antwort.
Das habe ich schon mir mit dem Macrorecorder schon gemacht und so wie dein Code umgewandelt.
Das ist nicht das was ich suche im Moment.

Mir geht es drum beim einfügen wenn ich eine Zahl ausgewählt habe in der Combobox 8 , das nur eine Power Query Tabelle aktualisiert wird beim einfügen.
Hallöchen,

ja, von der Combo8 nimmst Du den Value als Zahl wenn die übereinstimmen. Wenn nicht, musst Du noch eine Liste zum Zuordnen verwenden …

ActiveSheet.PivotTables("PivotTable" & ComboBox8.Value).PivotCache.Refresh
Hallo

hmm wie mache das denn mit der Zuordnung?
Meine PQ Tabellen heißen
qZusetz_1 mit der Überschrift Name1
qZusetz_2 mit der Überschrift Name2
usw
Ich weiß wirklich nicht wie ich das machen sollte.
so sieht der Code zum aktualisieren aus von der ersten  PQ Tabelle:
Zitat:Range("qZusetz__1[[#Headers],[Name1]]").ListObject.QueryTable.Refresh BackgroundQuery:=False
so habe ich versucht, aber funktioniert nicht so richtig:
Zitat:
Zitat:Range("qZusetz__1[[#Headers],[Name1]]" & Combobox8.Value).ListObject.QueryTable.Refresh BackgroundQuery:=False
Hallöchen,

dann
ActiveSheet.PivotTables("qZusetz_" & ComboBox8.Value).PivotCache.Refresh

und wenn die nicht auf dem aktiven Blatt sind musst Du statt

ActiveSheet

dann

Sheets("NameDerTabelleMitDerPivot")

nehmen

In Deinem Code könnte es dann so aussehen

Private Sub ComboBox8_Change()
If ComboBox8.Value > 0 Then
BlendeCB ComboBox8.Value
Sheets("NameDerTabelleMitDerPivot").PivotTables("qZusetz_" & ComboBox8.Value).PivotCache.Refresh
End If
End Sub

… oder

Range("qZusetz__" & ComboBox8.Value & "[[#Headers],[Name1]]").ListObject.QueryTable.Refresh BackgroundQuery:=False
Hallo schauan

Sorry für die späte Rückmeldung, musste schnell Essen kochen Familie schimpf....
Nochmals vielen vielen lieben Dank für deine Profi Hilfe, der letzte Code war der richtige nun läuft es fast perfekt.

Jetzt habe ich nur nehme an kleines Problem, wenn ich über Userform einfügen ist die PQ- erst aktualisiert richtig wenn ich die Userform schließe und wieder Userform starte.

Wie kann ich das ändern ohne das ich die Userform wieder neu starte, hat jemanden da noch eine Idee??
Hallöchen,

Die Codezeile steht auch im

Private Sub ComboBox8_Change()

?
Hallo schauan

Ich habe beide Varianten probiert den Code eingefügt nacheinander in
a)Private Sub ComboBox8_Change() 
b)Sub cmdEfug_Click()
bei beide Varianten muss ich zuerst Userform schließen und dann wieder Userform neu starten leider.
Keine Ahnung was noch anders machen sollte.

PS:
Diese Codezeile musste ich so um ändern
If ComboBox8.Value > 0 Then
If ComboBox8.Value = 1 Then 
Hallo

Ich habe es so nun gelöst das Aktualisieren, ist bestimmt nicht die beste Lösung, ich kann zur Not mit leben.
Habe am Ende dies hinzugefügt:
        Unload UserForm1
        UserForm_Initialize
        UserForm1.Show
Seiten: 1 2 3