Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1908to1912
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

Einblenden Tabellenblatt über UserForm

Einblenden Tabellenblatt über UserForm
13.12.2022 11:31:39
Zulu
Hallo zusammen,
ich bin mal wieder auf eure Hilfe angewiesen.
Ich habe eine Userform erstellt in welcher ein Tabellenblatt ausgewählt wird und das dazugehörige Passwort in einer Textbox eingegeben werden muss. Wenn das Passwort korrekt ist möchte ich, dass das Tabellenblatt eingeblendet wird. Die Combobox zur Eingabe des Tabellenblatts habe ich tbWerk genannt.
Der aktuelle Code sieht wie folgt aus:

Private Sub CommandButton1_Click()
Dim Ergebnis As Range
Set Ergebnis = blattKey.Columns(4).Find(what:=tbWerk, lookat:=xlWhole)
If blattKey.Cells(Ergebnis.Row, 6).Value = tbPasswort Then
Worksheets(tbWerk).Visible = True
Else
MsgBox "Das Passwort ist falsch"
End If
End Sub

Das Problem ist die Zeile in welcher das Tabellenblatt angesprochen wird. Wie kann ich die Eingabe übergeben?
Danke schonmal für eure Mühe und viele Grüße

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einblenden Tabellenblatt über UserForm
13.12.2022 13:06:23
ChrisL
Hi
Die Frage ist, wohin du die Eingabe übergeben willst.
Vielleicht möchtest du die Variable Public deklarieren.

Public wks As Worksheet

Private Sub CommandButton1_Click()
If CStr(WorksheetFunction.VLookup(tbWerk, blattKey.Range("D:F"), 3, 0)) = tbPasswort.Text Then
Set wks = Worksheets(tbWerk.Text)
wks.Visible = True
Else
MsgBox "Passwort falsch"
End If
End Sub

Private Sub CommandButton2_Click()
MsgBox "Meine Tabelle: " & wks.Name
End Sub
cu
Chris
Anzeige
AW: Einblenden Tabellenblatt über UserForm
13.12.2022 13:36:40
Zulu
Hi Chris,
danke für die Hilfe. Das funktioniert super.
Eine Frage noch. Wie kann ich das eingeblendete Tabellenblatt dann ansprechen?
wks.Cells(1, 1).Select läuft auf Fehler.
Danke und Grüße
AW: Einblenden Tabellenblatt über UserForm
13.12.2022 13:47:37
ChrisL
Hi
Wenn du vorher wks.Activate machst, ist der Fehler wahrscheinlich weg. Aber besser wäre es, wenn du auf Select/Activate ganz verzichten würdest.
https://www.herber.de/vbabasics/0009.html
anstelle von:
wks.Activate
wks.Cells(1, 1).Select
ActiveCell = "test"
einfach
wks.Cells(1, 1) = "test"
cu
Chris
Anzeige
AW: Einblenden Tabellenblatt über UserForm
13.12.2022 14:03:23
Zulu
Hmmm jetzt bin ich verwirrt.
Mit dem Code wks.Cells(1, 1) = "test" schreibe ich doch nur den Text "test" in die Zelle A1. Ich möchte ja aber das das Eingeblendete Blatt auch ausgewählt wird.
wks.Activate läuft ebenfalls auf Fehler.
Danke für die Verlinkung zur Thematik Select/Activate. Lese ich mir gleich mal durch.
Grüße
AW: Einblenden Tabellenblatt über UserForm
13.12.2022 14:13:48
ChrisL
Hi
Dann ist die Variable wks wahrscheinlich nicht belegt. Vielleicht mal die Zeile...
Public wks As Worksheet
...in ein Standardmodul verschieben. Ansonsten bitte eine Beispieldatei hochladen.
Deine Interpretation zu "test" ist richtig. War auch nur als Beispiel gedacht. Irgendwas möchtest du mit dem Tabellenblatt ja machen.
Solange man mit VBA auf das Blatt zugreifen möchte, muss man nicht selektieren. Einzig wenn du das Blatt zur anschliessenden manuellen Bearbeitung anwählen würdest, dann wäre ein Activate/Select nötig. Aber dazu müsstest du das Blatt ja nicht übergeben.
cu
Chris
Anzeige
AW: Einblenden Tabellenblatt über UserForm
13.12.2022 14:39:34
Zulu
Hi Chris,
der Hinweis die Deklaration in ein Standardmodul zu verschieben war zielführend. Danke!
Auch verstehe ich deinen Tipp "Solange man mit VBA auf das Blatt zugreifen möchte, muss man nicht selektieren" und die Verdeutlichung mittels dem Code wks.Cells(1, 1) = "test".
Kannst du mir noch sagen was der Unterschied zu "Einzig wenn du das Blatt zur anschliessenden manuellen Bearbeitung anwählen würdest" ist?
Was meinst du mit manuelle Bearbeitung?
Danke für den super Support und Grüße
AW: Einblenden Tabellenblatt über UserForm
13.12.2022 14:44:56
ChrisL
Hi
Wenn der Benutzer selber etwas ins Tabellenblatt schreiben soll...
wks.Activate
wks.Cells(1, 1).Select
MsgBox "Geben sie jetzt ihren Namen in Zelle A1 ein"
cu
Chris
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige