Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Wie kann ich aus einer Tabelle eine Subtabelle öffnen?





Frage

Hallo, ich habe ein riesen Problem bei Subtabellen. Ich möchte follgendes machen: Eine XLS-Datei hat 31 Tabellen. Dort wird täglich die Produktion eingetragen. Da es für die Produktion ab noch andere Daten gibt, soll dann je nach eingabewerde in A1 eine Subtabelle (Wird nicht unten angezeigt) geöffnet. Wie kann ich soetwas machen? Falls es nicht verstanden wurde: Solbald ich in der Tabelle 1 einen Button klicke, oder einen Doppelklick mache, soll der Wert in A1 geprüft werden und eine andere Tabelle geöffnet werden. Ist so was möchlich? Wenn ja wie? PS: Die Subtabellen sollen nicht unten aufgfürt werden und nur per Button oder Doppelklick geöffnet werden! MfG Djsammy

Antwort 1 von vadder

hallo,

du kannst eine andere tabelle mit einem hyperlink aufrufen.


der button ist in der regel in der obersten leiste .

- erdkugel mit symbol-

vadder

Antwort 2 von Djsammy

Hmmm, wie mache ich es aber, das bei jedem eintrag einen neue Datei erstellt wird.

Pro Tag bis zu 8 Unterdateien und Pro Monat bis 250 Dateien.
Außerdem sollte ich es so machen, das es nicht noch eine Datei geöffnet wird, sonder so wie einen Klapp-Datei.

MfG Djsammy

Antwort 3 von Event

Hallo

In den Code-Bereich der Tabelle1 Kopierts Du:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1").Value <> "Passwort" Then
Exit Sub
Else
Sheets("Tabelle32").Visible = True
End If
End Sub


Dieser Code bewirkt, dass Wenn in A1 "Passwort" steht, die Tabelle32 sichtbar wird.
In den Code-Bereich der Tabelle32 kopierst Du:

Option Explicit

Private Sub Worksheet_Deactivate()
Sheets("Tabelle32").Visible = xlVeryHidden
End Sub


Das wiederum versteckt beim Verlassen der Tabelle32 dieselbe.
Sie ist dann auch nicht mehr unter Format > Blatt.. > einblenden zu erreichen.

Gruß

Antwort 4 von Djsammy

Ey, ihr seit ja der Wahnsinn!!!!

Super,vielen Dank.

Eine letzte Frage noch:

Wie mache ich es, das wenn in das Feld A1 Produkt 1 eine neue Tabelle Kopiert wird und mit diesemTeil verlinkt wird.

Wenn in A2 Auch Produkt1 steht, soll Halt Tabelle 33 verlinkt und neu erstellt.

usw. ist dasMöglich? Wenn ja wie?

Antwort 5 von Event

Hallo

Bahnhof! ?;-)

Gruß
ps
Versuch´ das ´mal in verständlichen Sätzen zu formulieren...

Antwort 6 von Djsammy

Hi,

Abfahrt um 9:00 Uhr!

Spass bei Seite:
Also der Benutzer kann in einer Tabelle Eingaben machen.
Produkt1 bis Produkt4
Je nach dem, was er in die Tabelle eingibt, soll Entweder der Produktionsbericht1 oder 2 usw neu erstellt werden.
Dieser wird aber nur dann geöffnet, wenn der Benutzer einen Button drück oder Enter im ensprechenden Feld.

Wie mache ich das?

MfG Djsammy

Antwort 7 von JoeKe

Moin dj,

sollen neue Blätter erstellt werden oder vorhandene nur geöffnet werden?

Ich geh nun mal davon aus, das vorhandene Blätter eingeblendet werden sollen. Dazu kopiere folgendes in den Code Bereich deiner Tabelle1:

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Blattname As Range
If Target.Address <> "$A$1" Then
Exit Sub
End If
Set Blattname = Range("A1")
Select Case Blattname
Case Is = "Produkt1"
Sheets("Produktionsbericht1").Visible = True
Sheets("Produktionsbericht1").Activate
Case Is = "Produkt2"
Sheets("Produktionsbericht2").Visible = True
Sheets("Produktionsbericht2").Activate
Case Is = "Produkt3"
Sheets("Produktionsbericht3").Visible = True
Sheets("Produktionsbericht3").Activate
Case Is = "Produkt4"
Sheets("Produktionsbericht4").Visible = True
Sheets("Produktionsbericht4").Activate
End Select
End Sub


In den Code Bereich der jeweiligen Tabelle (Produktionsbericht1 - Produktionsbericht4) muss dies rein:

Option Explicit

Private Sub Worksheet_Deactivate()
Sheets("Produktionsbericht
X").Visible = xlVeryHidden
End Sub


Das X mus du durch die jeweilige Zahl ersetzen.

MfG

JöKe

Antwort 8 von Djsammy

Danke schon mal.

Es soll das gemacht werden:

Auf Tabelle1 ein kann der Benutzer Wählen ob er Produktionbericht 1 lesen kann oder Nummer 2 Dabei gibt es auf Seite 1 4 Mal der Produktionsbericht1 mit unterschiedlichen eingaben.
Tabelle Zwei füllt der Schichtführer erst heute aus.
Wenn er Nun in A1 Produkttionsbericht1 eingibt, soll ein neuer erstellt werden Wenn er bei A2 Auch Produktionsbericht eingegeben wird, dann auch hier einen neue Unsichtbare Tabelle anlegen.


usw.

Wenn Nun Der Chef schauen will, was am Tag eins Los war, geht er in diese Tabelle und Klickt auf einen Eintrag und bekommt dann den Produktionsbericht1
Dann möchte er Schauen was am tag 2 War und bekommt von dort die Produktionspläne. Aber immer mit unterschiedlichen daten

Antwort 9 von Djsammy

Also ich habe das jetzt so gemacht, wie ihr es beschrieben habt.
Wenn ich per Drob-Downmenü in Zelle D37 Produkt1 wähle, wird leider nicht die versteckte Tabelle geöffnet.

Wie so nicht?

MfG Djsammy

Antwort 10 von JoeKe

Hi dj,

ganz versteh ich deinen Tabellenaufbau nicht. Wie hast du z.B. dein Drop-Downfeld erstellt? Mit Gültigkeit oder aus der Formatsymbolleiste?
Hast du den Bereich im Code geändert? Überall wo im Code A1 steht muss du D37 angeben.

Mfg

JöKe

PS: Wenn es möglich ist du es möchtest kanst du mir ja mal eine Mustertabelle per E-Mail schicken, dann kann ich mir das mal genauer ansehen.

Antwort 11 von Djsammy

Hi, ich dir eine Pagermail geschrieben!

MfG Djsammy

Antwort 12 von Djsammy

Hi, ich bräuchte schnell noch mal deine Hilfe:

Wie Kopiere ich eine Tabelle und verlinke diese?

Also dass immer Tabelle 1 Zelle D37 auf die Tabelle 32 verlinkt.
Weiter möchte ich noch wissen, wie das bei den Caseabfrage über mehrere Zeilen geht also von C37 bis C45???

If Target.Address <> "$C$37:$C$45" Then
Exit Sub
End If
Set Blattname = Range("C37:C45")

dieser Code geht leider nicht.

MfG Djsammy

Antwort 13 von JoeKe

Hallo Dj,

zum verlinken:
D37 aktivieren=>in der Standardsymbolleiste auf den kleinen Globus mit dem Kettenglied klicken=>im linken Auswahlfenster "Aktuelles Dokument" wählen=>Tabelle32 in der rechten Hälfte wählen=>mit oh bestätigen.
Wenn du alles richtig gemacht hast steht dann blau und unterstrichen in D37 "Tabelle32!A1".

Das:
If Target.Address <> "$C$37:$C$45" Then
Exit Sub
End If
Set Blattname = Range("C37:C45")
geht nicht.

Was möchtest du damit erreichen?

MfG
JöKe

Antwort 14 von Djsammy

Zum Code:

Damit möchte ich erreichen, dass ich in diesen Zellen Prüfe ob Produkt 1 bis 4 eingegeben wurde.
Wenn der Benutzer ja da drauf klickt, dann sollte die versteckte Tabelle geöffnet werden

Antwort 15 von Djsammy

Hi,

wie kann ich das nun machen, dass zwischen den Einträgen C47 bis C55 immer diese Prüfung statt findet?
Da ja der Code

If Target.Address <> "$C$37:$C$45" Then
Exit Sub
End If
Set Blattname = Range("C37:C45")

so nicht funktioniert.
Wie kann ich das nun machen?

Bin gespannt auf einen schnelle antwort

MfG Djsammy