Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
540to544
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
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makroproblem für Profis

Makroproblem für Profis
06.01.2005 18:11:50
Uwe
Hallo Ihr Excel-Profis,
Ich benötige wieder eure Hilfe.
Folgende Thematik:
Ich habe mehrere Tabellenblätter, von denen jedoch bestimmte ausgeblendet sein sollen (Eins ist immer eingeblendet).
Der Name des Tabellenblatts ist variabel und bezieht sich auf eine bestimmte Zelle der Tabelle, wofür ich auch bereits ein Makro habe:

Private Sub Worksheet_Change(ByVal Target As Range)
'Name_in_das_Blattregister_übernehmen
If [B4] <> "" Then
ActiveSheet.Name = [B4]
End If
Range("A3").Select
End Sub

Wenn das Tabellenblatt ausgeblendet ist, dann soll über ein Makro der Name des Tabellenblatts auf z.B. „2“ zurückgesetzt werden.
Zu Anfangs habe ich also EIN eingeblendetes und bis zu NEUN ausgeblendete Tabellenblätter. Über eine Schaltfläche („Name hinzufügen“) soll ein ausgeblendetes Tabellenblatt aktiviert werden. Dabei soll eine InputBox geöffnet werden, der den Namen in die Zelle B4 schreibt:
'Name einfügen
Cells(4, 2) = InputBox("Name“)
Dadurch ändert sich ebenfalls der Name des Tabellenblatts (siehe oben).
Von jeder Seite soll ein Neuer Name/ neues Tabellenblatt aufrufbar sein (bis die max. Anzahl von 10 erreicht ist).
Ich habe für aktive und inaktive eine Kennzahl (0 oder 1), so dass nach der Kennzahl 0 in der Zelle P7 eines jeden Tabellenblattes gesucht werden soll:
Formeln:
In Zelle P6 =ODER(B4=1;B4=2;B4=3;B4=4;B4=5;B4=6;B4=7;B4=8;B4=9;B4=10) und in Zelle P7 =WENN(P6;0;1).
Hat das Makro die erste Null gefunden, soll die InputBox für den Namen aufgerufen und das entsprechende Tabellenblatt eingeblendet werden.
Folgende Problematik:
Mein Problem besteht u.a. darin, dass sich die Tabellenblattnamen ständig ändern und das Makro nach der Namensänderung das Tabellenblatt nicht mehr erkennt.
Mein weiteres Problem ist, dass der Name aus der Inputbox nur in das gefundene Tabellenblatt eingefügt werden darf, d.h. ich kann die Zelle der InputBox Cells(4, 2) = InputBox("Name“) nicht mehr fest definieren.
Ich hoffe, ich konnte mein Problem einigermaßen verständlich schildern und bitte um Hilfe, da ich bereits seit Stunden versuche dieses Problem zu lösen.
Wenn etwas unklar sein sollte, sagt mir bitte bescheid.
Vielen Dank.

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

Betreff
Datum
Anwender
Anzeige
AW: Makroproblem für Profis
06.01.2005 20:20:13
Matthias G
Hallo Uwe,
ich verstehe nicht ganz, was das mit dem Umbenennen soll, wenn ein Blatt ausgeblendet ist.
Du kannst es doch mit If Sheets(1).Visible abfragen..
Naja, ich hab mal eine Beispielmappe erstellt:

Die Datei https://www.herber.de/bbs/user/15722.xls wurde aus Datenschutzgründen gelöscht

Vielleicht ist das in etwas das, was du braucht.
Grüße,
Matthias
AW: Makroproblem für Profis
07.01.2005 12:23:31
Uwe
Hallo Matthias,
Vielen Dank für deine Hilfe. Es geht schon in die Richtige Richtung, nur soll anstatt der UserForms eine InputBox aufgerufen werden, der das gefundene Tabellenblatt nach Eingabe des Namens automatisch umbenennt (Cells(4, 2) = InputBox("Fritz“)). Wird das Tabellenblatt später nicht mehr benötigt, wird das Feld B4 wieder zurückgesetzt auf "Name1", "Name2", etc.
Die Problematik liegt nun darin, dass ich in allen Tabellenblättern nach den Kennziffern 0 (=ausgeblendet) suchen muss. Es müssen also auch die z.Zt. eingeblendeten Tabellenblätter mit den Kennziffern 1 durchsucht werden, da sie später ja wieder ausgeblendet sein könnten. Der Tabellenblattname ist also eine variable.
Eine Alternative wäre, wenn ich deine Lösung beibehalte, und als zusätzlichen Befehl die InputFunktion hereinnehme, so dass man im 1. Schritt ein freies Tabellenblatt aufruft und als 2. Schritt gleich einen neuen Namen dafür vergibt. Ich habs schon probiert, weiss aber ehrlich gesagt nicht, wo ich diesen Befehl genau unterbringen soll.
Ich weiss jetzt nur nicht, wie ich diese Variable als Makro definieren soll, da ich mit den relativen einfachen Befehlen [sheets ("Name1").visible true] nicht arbeiten kann, weil "Name1" fest definiert ist.
Eine Lösung zum Eingangsproblem wäre jedoch besser, da man sich einen Schritt ersparen könnte.
Also Vielen Dank schon mal.
Gruß
Uwe
Anzeige
AW: Makroproblem für Profis
07.01.2005 12:59:49
Matthias G
Hallo Uwe,
also ehrlich gesagt, ich blick' da nicht mehr durch... :-(
Ich stell' den Thread mal auf "offen".
Gruß Matthias
AW: Makroproblem für Profis
07.01.2005 16:35:59
Uwe
Hallo Matthias,
deine Variante könnte ich übernehmen, wenn ich in das aufgerufene Tabellenblatt springe. Im Moment bleibt er auf dem ursprünglichen Tabellenblatt.
Wo muss ich das Makro ergänzen, wenn ich z.B. Tabelle 2 aufrufe und auch zur Tabelle 2 gleich wechseln will.
Gruß
Uwe
AW: Makroproblem für Profis
07.01.2005 17:06:27
Matthias G
Hallo Uwe,
Die OK-Prozedur müsstest du so schreiben:
Private Sub OKButton_Click()
If ComboBlätter.Value <> "" Then
With Sheets(ComboBlätter.Value)
.Visible = xlSheetVisible
.Activate
End With
End If
Unload Me
End Sub
Grüße,
Matthias
Anzeige
AW: Makroproblem für Profis
07.01.2005 17:31:36
Uwe
Hallo Matthias,
sei mir bitte nicht böse, aber ich steh irgendwie auf dem Schlauch. Ich habe die Prozedur in dein Exceltool übernommen, doch es klappt nicht.
Könntest du mir nochmal eine Hilfestellung geben. So langsam machen die Makros mich irre.
Vielleicht könntest du anhand deines Tools mir den Weg nochmal aufzeigen. Ich wäre dir sehr dankbar.
Gruß
Uwe
AW: Makroproblem für Profis
09.01.2005 03:26:38
Uwe
Hallo Matthias,
Falls es dich noch interessiert, anbei das Excel-Tool. Habe deine Version weiterverarbeitet, bin aber schließlich doch noch auf meine Lösung gekommen. Die Makros sind zwar recht einfach und manches kann man noch optimaler gestalten, aber das hat jetzt erstmal Zeit. Ich bin erst mal froh, dass es so läuft, wie ich es mir vorgestellt habe.
https://www.herber.de/bbs/user/15816.xls
Gruß
Uwe
AW: Makroproblem für Profis
07.01.2005 22:27:33
Uwe
Hallo Matthias,
ich dachte, jetzt hätt'ichs. Aber da war ich wieder auf dem Holzweg. Leider arbeite ich erst seit kurzem mit VBA und stoße daher sehr schnell an meine Grenzen und brauche Hilfe. Da kommt mir dieses Forum und deine Hilfe gerade Recht.
Ich habe mal die Excel-Tabelle eingestellt. Vielleicht ist es damit leichter mein Problem zu lösen.
Gruß Uwe
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige