Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
724to728
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Arbeitsblatt umbenennen

Arbeitsblatt umbenennen
31.01.2006 21:30:17
Paul
Hallo,
ich möchte bei einer Eingabe in Zelle N1 automatisch das Arbeitsblatt umbenennen lassen. Die Zelle N1 enthält eine benutzerdefinerte Formatierung. Diese Info soll der Name des Arbeitsblattes werden, wenn in der Zelle die Eingabe erfolgt. Habt ihr eine VBA-Idee ?
Gruß Paul

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

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblatt umbenennen
31.01.2006 21:35:38
Ramses
Hallo
REchte Maustaste auf das Register
Code anzeigen
Im linken oberen Combifeld des Codefensters "Worksheet" wählen
Im rechten oberen Combifeld des Codefensters "Change" wählen

Private Sub Worksheet_Change(ByVal Target as Range)
On Error Resume Next
If Target.Address(0,0) = "N1" Then
ActiveSheet.Name = Target.Text
End If
End Sub

ACHTUNG:
Es wird nicht auf unzulässige Zeichen oder Länge geprüft.
Wenn es nicht funktioniert,... dann ist der Name unzulässig :-)
Gruss Rainer
AW: Arbeitsblatt umbenennen
31.01.2006 21:59:53
Paul
Hallo Rainer,
funktioniert !
Allerdings habe ich das Problem, dass in dem Arbeitsblatt bereits ein Code steht, welcher dieselbe erste Zeile aufweist (Worksheet-Change). Alleine funktionierts. Aber beide zusammen vertragen sich nicht. Läßt sich diese Zeile ändern, damit beide miteinander klar kommen ?
Gruß Paul
Anzeige
AW: Arbeitsblatt umbenennen
31.01.2006 22:03:48
Ramses
Hallo
bin ich Hellseher ?
Zeig mal den Code dann schauen wir mal
Gruss Rainer
AW: Arbeitsblatt umbenennen
31.01.2006 22:10:09
Paul
Hallo Rainer,
hier der Code

Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As Integer, z As Integer
s = Target.Column
z = Target.Row
If s <> 1 Then Exit Sub
Call Doppelte_suchen(z, s)
End Sub

Gruß
AW: Arbeitsblatt umbenennen
31.01.2006 22:13:50
Ramses
Hallo
Probier mal
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Address(0, 0) = "N1" Then
        ActiveSheet.Name = Target.Text
    ElseIf Target.Column = 1 Then
        Call Doppelte_suchen(Target.Row, Target.Column)
    End If
End Sub

Gruss Rainer
Anzeige
AW: Arbeitsblatt umbenennen
31.01.2006 22:20:15
Paul
Hallo Rainer,
funktioniert nicht. Ich erhalte die Fehlermeldung "mehrdeutiger Name: worksheet_change"
Gruß
AW: Arbeitsblatt umbenennen
31.01.2006 22:26:22
Ramses
Hallo
Du musst natürlich den anderen Code löschen
Gruss Rainer
AW: Arbeitsblatt umbenennen
31.01.2006 22:32:04
Paul
Hallo Rainer,
hervorragend !!!
Ich hätte aber noch eine Sache:
bei folgendem Code möchte ich nicht die Einträge in Spalte A nach doppelten Einträgen absuchen, sondern die Spalte H.

Sub Doppelte_suchen(z As Integer, s As Integer)
Dim ws As Worksheet, wsNameA As String
Dim Lz As Integer, i As Integer
Dim Eingabe As String, Aktiv As Object
Dim Weiter
Set Aktiv = ThisWorkbook.ActiveSheet
wsNameA = ThisWorkbook.ActiveSheet.Name
Eingabe = ThisWorkbook.ActiveSheet.Cells(z, s)
For Each ws In ActiveWorkbook.Worksheets
Lz = ws.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To Lz
If Eingabe <> "" Then
If ws.Cells(i, 1) = Eingabe Then
If ws.Name <> wsNameA Then
Weiter = MsgBox("Achtung, Eintrag bereits in " & ws.Name & _
" vorhanden. Wollen Sie dies zulassen?", vbYesNo)
If Weiter = vbNo Then
Aktiv.Cells(z, 1) = ""
Aktiv.Cells(z, 1).Select
Exit Sub
End If
End If
End If
End If
Next i
Next ws
Lz = Aktiv.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To Lz - 1
If Aktiv.Cells(i, 1) = Eingabe Then
Weiter = MsgBox("Achtung, Eintrag bereits in " & ActiveSheet.Name & _
" vorhanden. Wollen Sie dies zulassen?", vbYesNo)
If Weiter = vbNo Then
Aktiv.Cells(z, 1) = ""
Aktiv.Cells(z, 1).Select
Exit Sub
End If
End If
Next i
End Sub

Anzeige
AW: Arbeitsblatt umbenennen
31.01.2006 22:46:14
Ramses
Hallo
ändere diesen Eintrag
If ws.Cells(i, 1) = Eingabe Then
in
If ws.Cells(i, 8) = Eingabe Then
und ersetze in der unteren SChleife, da weiss ich aber nicht wozu die gut sein soll, die Zeilen !!
Aktiv.Cells(i, 1)
in
Aktiv.Cells(i, 8)
Gruss Rainer
AW: Arbeitsblatt umbenennen
31.01.2006 22:57:04
Paul
Hallo Rainer,
nun funktioniert es wie am Schnürchen !!
Vielen Dank, du hast mir sehr geholfen
Gruß Paul

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige