Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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 dynamischen Zellbereich

Zugriff auf dynamischen Zellbereich
18.05.2020 10:30:48
Christoph
Liebe Experten,
ein einfache Frage:
Ich möchte gerne auf die Werte die in einer Zeile eines anderen Tabellenblattes stehen in Abhängigeit von dem Tabellenblattnamen auf dem man sich gerade befindet zugreifen.Die Werte befinden sich immer in einer Zeile, die mit dem Namen des Tabellenblattes auf dem man sich gerade befindet beginnt. Konkret geht des darum Schaltflächen auf einer Userform zu aktivieren oder zu deaktivieren.
Über diesen Code bekomme ich das auch gut hin:
Code im Tabellenblatt
Private Sub Worksheet_Activate()
WKS_Name = ActiveSheet.Name
With Sheets("Einstellung")
Command1 = .Range("B2").Value
Command2 = .Range("C2").Value
Command3 = .Range("D2").Value
End With
Debug.Print Command1, Command2, Command3
End Sub
Code in der Userform
Private Sub UserForm_Initialize()
WKS_Name = ActiveSheet.Name
Debug.Print WKS_Name
UserForm1.CommandButton1.Enabled = False
UserForm1.CommandButton2.Enabled = False
UserForm1.CommandButton3.Enabled = False
If Command1 = True Then UserForm1.CommandButton1.Enabled = True
If Command2 = True Then UserForm1.CommandButton2.Enabled = True
If Command3 = True Then UserForm1.CommandButton3.Enabled = True
End Sub
Damit ich nun nicht in jedem Tabellenblatt (ich habe ca 50) den Range "hartverdrahtet" angeben muss würde ich gerne Den Wert aus dem Tabellenblatt "Einstellungen" in Abhängigkeit von dem Tabellenblattnamen auf dem man sich gerade befindet "holen".
Die Kür wäre, dass ich nicht nur die Zeile dynamisch anpasst, und ich von da aus sozusagen zwei nach rechts im zum Wert für den Command1 komme, sondern dies irgendwie aus Zeile und Spalte kombiniert wird.
Zb. Ich bin auf Tabellenblatt A3, dann soll der Wert für die Variable Command2 aus der Kombination von Zeile A2 und Spalte Command2 in der Tabelle Einstellungen ermittel werden. Das wäre aber nur die Kür.
Eine Beispielmappe befindet sich hier: https:\/\/www.herber.de/bbs/user/137609.xlsm
Vielen Dank im Voraus!

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriff auf dynamischen Zellbereich
18.05.2020 17:16:06
onur
Was soll das denn konkret bedeuten; "Den Wert aus dem Tabellenblatt "Einstellungen" in Abhängigkeit von dem Tabellenblattnamen auf dem man sich gerade befindet" ?
AW: Zugriff auf dynamischen Zellbereich
18.05.2020 19:03:26
Christoph
Das soll heißen:
In dem Tabelleblatt "Einstellungen" ist einen Tabelle deren erste Spalte den Namen der anderen Tabellenblätter enthält:
1 A: Tabellenblattname B: Command1 C: Command2
2 A1 Wahr Falsch
3 A2 Wahr Wahr
4 A3 Falsch Falsch
Wenn ich jetz in Tabellenblatt A1 den Button Show Userform1 Drücke, sollen die Werte Wahr also der Wert aus "B2" UND "C2" an eine Variable übergeben werden. Damit wird dann bei der Userform eingestellt, ob der Button 1 und der Button zwei Aktiv sind.
In der Beispielmappe habe ich das auch soweit hinbekommen. Nur steht da im Code immer B2 und C2 hartverdrahtet drin. Das würde ich geren dynamisch haben. So nach dem Motto: Wenn ich auf Tabellenblatt A3 "Userform_Show" drücke dabb nitte in den Einstellungen den Wert dür Command1 und Command2 in der Zeile A3 übergeben.
Anzeige
AW: Zugriff auf dynamischen Zellbereich
18.05.2020 19:06:25
onur
Und wieso hast du mal 2 Buttons (in diesem Beispiel) und mal drei (im ersten Beispiel) ?
AW: Zugriff auf dynamischen Zellbereich
18.05.2020 19:22:37
Christoph
pure Faulheit..... Ja hätte "etc" oder rbis Button-N dazuschreiben sollen.....
AW: Zugriff auf dynamischen Zellbereich
18.05.2020 19:24:10
onur
Vielleicht solltest du mal uns auch verraten, wieviele es jetzt TATSÄCHLICH sind ?
AW: Zugriff auf dynamischen Zellbereich
18.05.2020 19:28:09
Christoph
das weiß ich "TATSÄCHLICH" noch nicht.. irgendwas zwischen 5 und 50....
AW: Zugriff auf dynamischen Zellbereich
18.05.2020 19:28:48
onur
Dann vergiss es.
AW: Zugriff auf dynamischen Zellbereich
18.05.2020 19:32:13
Christoph
Es wird schon werden.....
AW: Zugriff auf dynamischen Zellbereich
19.05.2020 00:09:32
Mullit
Hallo,
im Prinzip einfach so, alles andere kann raus...
Option Explicit

Private Sub UserForm_Initialize()
Dim objCell As Range
Dim lngIndex As Long
Set objCell = Worksheets("Einstellung").UsedRange.Find(What:=ActiveSheet.Name, _
    LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
If Not objCell Is Nothing Then
   For lngIndex = 1 To 3
       Controls("CommandButton" & lngIndex).Enabled = objCell.Offset(0, lngIndex).Value
   Next
   Set objCell = Nothing
End If
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 12

Gruß, Mullit
Anzeige
AW: Zugriff auf dynamischen Zellbereich
19.05.2020 09:00:13
Christoph
Liebe/r Mullit,
das funktioniert wirklich tadellos! Vielen Dank!
Nun ist das mit den CommandButtons das Eine. In einer weiteren Ausbaustufe der Tabelle werden in der Tabelle "Einstellungen" auch noch längere Texte gespeichert, die dann auf der UserForm wieder in Abhängikeit von dem Tabellenblattnamen ausgegeben werden sollen.
Ich denke das werde ich aber hinbekommen. Wenn nicht melde ich mich nochmal!
Vielen Dank und viele Grüße
Christoph

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige