Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1496to1500
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

Sheetname aus Zellle übernehmen

Sheetname aus Zellle übernehmen
16.06.2016 15:23:49
lupo
Hallo Forum,
ich möchte die Sheets einer Exceltablle nach dem Inhalt einer Zelle benennen.
Vor der Benennung wird die betreffene Zelle auf Inhalt überprüft und ggf. dazu aufgefordert die Zelle zu füllen.
Zwischen dem eigentlichen Füllen der Zelle möchte ich in der aktiven Arbeitsmappe noch abfragen ob der neue Name schon vorhanden ist. Es soll quasi der Zelleninhalt mit allen vorhanden Sheetnamen verglichen werden bevor der Name übernommen wird bzw. wenn schon vorhanden eine Msgbox mit einem entsprechenden Hinweis erschein.
Danke schon mal im voraus,
Lupo
Sub Inhaltsverzeichnis()
' Inhaltsverzeichnis Makro
' Wird über Botton Inhaltsverzeichnis angesteuert
' Name des Sheet wird geändert
' Abfrage ob Name eingetragen ist
If ActiveSheet.Range("B7") = "" Then
MsgBox "Bitte noch den Namen der Notiz eintragen", vbCritical
''''''''''''''Hier brauche ich die Hilfe für die Namesabfrage alles Sheets des Workbooks'''''''' _
Else
' Wenn Name eingetragen und noch nicht vorhanden ist wird es als Name für das Sheet übernommen.
ActiveSheet.Name = Range("B7")
' Übersicht anwählen
Sheets("Übersicht").Select
Range("A1").Select
End If
End 

Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheetname aus Zellle übernehmen
16.06.2016 15:42:52
Heribert
Hallo lupo,
ich würd's so machen

Dim anzahl as Integer
For anzahl = 1 To Sheets.Count
If Sheets(anzahl ).Name  Range("B7").Value Then
ActiveSheet.Name = Range("B7")
Else
MsgBox "Blattname bereits vorhanden", vbCritical
Exit For
End If
Next anzahl

Gruß
Heribert

AW: Sheetname aus Zellle übernehmen
16.06.2016 16:07:36
lupo
Hallo Heribert,
danke für die schnelle Unterstützung.
Leider kann ich den Code nicht so übernehmen.
Hintergrund:
Der Blattname wird zwar geändert, aber das Msgbox erscheint immer (soll nur erschein wenn der Blattname schon vorhanden ist) und wenn ein anderes Blatt den "neuen" Namen hat, habe ich einen Bug.
mfg
torsten

Anzeige
AW: Sheetname aus Zellle übernehmen
16.06.2016 16:14:13
Heribert
ändere mal das Exit For in Exit Sub
Heribert

AW: Sheetname aus Zellle übernehmen
16.06.2016 16:18:53
lupo
leider keine Verbesserung,
aber trotzdem DANKE
Lupo

AW: Sheetname aus Zellle übernehmen
16.06.2016 16:26:22
Heribert
Bitteschön,
Versuch wars Wert
Heribert

AW: Sheetname aus Zellle übernehmen
17.06.2016 15:15:10
lupo
Hallo Forum,
leider habe ich für diesen Punkt noch keine Lösung.
Daher wäre es schön wenn noch einer eine Idee hätte.
DANKE!
Schöne Grüße,
Lupo

Sheetname aus Zellle übernehmen
19.06.2016 17:10:12
Michael
Hi,
hier sind so ziemlich alle Eventualitäten berücksichtigt:
' in einem allg. Modul:
Option Explicit
Sub BlattNamen()
Dim a$(), i&, iMax&, B7$, actI&
Const gehtNicht = ":\/?*[]"
Dim gNaus$, erg
B7 = Range("B7").Text
If ActiveSheet.Name = B7 Then
MsgBox "Blatt heißt schon so."
Exit Sub
End If
actI = ActiveSheet.Index
iMax = Sheets.Count
ReDim a(1 To iMax)
For i = 1 To iMax
If i  actI Then
a(i) = UCase(Sheets(i).Name)
Else
a(i) = ""
End If
Next
If Len(B7) = 0 Then
MsgBox "Bitte noch den Namen der Notiz " & _
"eintragen", vbCritical
Exit Sub
End If
For i = 1 To Len(B7)
If InStr(gehtNicht, Mid(B7, i, 1)) > 0 Then _
gNaus = gNaus & Mid(B7, i, 1)
Next
If gNaus  "" Then
MsgBox "falsche(s) Zeichen: " & gNaus & _
" gefunden."
Exit Sub
End If
erg = Application.Match(UCase(B7), a, 0)
If IsNumeric(erg) Then
MsgBox B7 & " ist bereits in Blatt Nr." & _
erg & " vorhanden."
Else: ActiveSheet.Name = B7
End If
End Sub
Schöne Grüße,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige