Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: achhillis am November 05, 2012, 13:34:28 Nachmittag
-
Hallo,
Ich habe folgendes Problem:
Ich habe eine Arbeitsmappe mit 85 Arbeitsblättern. Auf jedem dieser Arbeitsblätter ist eine Fertigungsvorschrift. Die Arbeitsblätter heissen z.B. MS105. Nun Wollte ich ein Deckblatt erstellen mit einer Maske in die man die Nummer der Fertigungsvorschrift eingibt und Excel nach dieser eingabe sofort auf das entsprechende Tabellenblatt springt.
Ist so etwas möglich?
Danke schonmal für die Hilfe
achhillis
-
Hi,
ja, das ist möglich - per VBA mit dem des Worksheet_Change-Ereignis
Bis später,
Karin
-
Hallo danke für die rasche Antwort. leider bin ich völlig unbeholfen. Könntest du mir da eventuell ein kurzes Beispiel geben?
Danke schon mal!
achhillis
-
Hi,
in welche Zelle soll eingetragen werden? Dann kann ich den Code gleich an deine Bedingungen anpassen.
Bis später,
Karin
-
Hallo danbke dir schonmal
das ist nun mein Code das Feld zum eintragen ist F13
Option Explicit
Dim xName As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("F13")) Is Nothing Then Exit Sub
On Error Resume Next
xName = Range("F13")
Sheets(xName).Select
End Sub
Das funktioniert soweit. Nun wäre es noch schön wenn nur mein Eingabefeld sichtbar wäre und alle anderen Tabellenblätter ausgeblendet ist das möglich? ausgeblendet
-
Hi,
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wksTab As Worksheet
If Target.Address = "$F$13" Then
For Each wksTab In Worksheets
If wksTab.Name = Target Then
wksTab.Visible = True
wksTab.Activate
Exit For
End If
Next wksTab
End If
End Sub
Bis später,
Karin
-
Danke das hat super geklappt.
Nun würde ich noch gern wissen ob ich mein Eingabefeld noxch so ändern kann das nach der Eingabe und dem Azeigen des Tabellenblattes meine Eingabe wieder verschwindet?
Danke schonmal wieder im vorraus!
achhillis
-
Hi,
ändere den Cdoe wie folgt:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wksTab As Worksheet
If Target.Address = "$F$13" Then
For Each wksTab In Worksheets
If wksTab.Name = Target Then
wksTab.Visible = True
wksTab.Activate
Exit For
End If
Next wksTab
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Bis später,
Karin