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

in variable unzulässig zeichen tauschen

in variable unzulässig zeichen tauschen
12.02.2014 16:44:13
klaus
Hallo zusammen,
mit do while-Schlaufe durchlaufe ich Strings in der 1.Spalte, die in einer Variablen gespeichert und später als Blattnanen verwendet werden sollen. Hier kann es vorkommen, dass im String unzulässige Zeichen vorkommen. Diese sollten nicht im Sting sondern in der Variable gegen einen Bindestrich während der Laufzeit ausgetauscht werden. Habt Ihr eine Idee?
Danke im voraus.
Sub UnzulässigeZeichenTauschen()
With wksQuelle
'do while-Schleife, die die erste Spalte bis zur ersten leeren
'Zelle durchläuft und den Zellwert in einer Variablen übergibt
Do While Not IsEmpty(Cells(dblaktZeile, 1))
strPNr = Cells(dblaktZeile, 1).Value
'hier sollen nun Zeichen, die nicht als Blattnamen verwendet werden dürfen
'während der Laufzeit gegen einen Bindestrich gestauscht werden
dblaktZeile = dblaktZeile + 1
Loop
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: in variable unzulässig zeichen tauschen
12.02.2014 17:49:51
fcs
Hallo Klaus,
das Wechseln der unzulässigen Zeichen kann man mit einer kleinen Function lösen.
Beachte auch, dass die Zeichenzahl für Blattnamen auf 31 begrenzt ist.
Gruß
Franz
Sub UnzulässigeZeichenTauschen()
Dim wksQuelle As Worksheet, strPNr As String, dblaktZeile 'Testzeile
Set wksQuelle = ActiveSheet                               'Testzeile
dblaktZeile = 3                                           'Testzeile
With wksQuelle
'do while-Schleife, die die erste Spalte bis zur ersten leeren
'Zelle durchläuft und den Zellwert in einer Variablen übergibt
Do While Not IsEmpty(Cells(dblaktZeile, 1))
strPNr = Cells(dblaktZeile, 1).Text
'Blattnamen prüfen/korrigieren
strPNr = fncZeichen_Blatt_Name(strPNr)
MsgBox "Alt: " & Cells(dblaktZeile, 1).Text & "  |  Neu: " & strPNr, , _
"Blattnamen prüfen"                             'Testzeile
dblaktZeile = dblaktZeile + 1
Loop
End With
End Sub
Function fncZeichen_Blatt_Name(ByVal strText As String, Optional strSub As String = "-")
'Ersetzt ungültige Zeichen in Blattnamen
If Left(strText, 1) = "'" Then strText = Mid(strText, 2) ' ' als 1. Zeichen nicht zulässig
strText = VBA.Replace(strText, "/", strSub)
strText = VBA.Replace(strText, "\", strSub)
strText = VBA.Replace(strText, ":", strSub)
strText = VBA.Replace(strText, "*", strSub)
strText = VBA.Replace(strText, "?", strSub)
strText = VBA.Replace(strText, "[", strSub)
strText = VBA.Replace(strText, "]", strSub)
fncZeichen_Blatt_Name = strText
End Function

Anzeige
AW: in variable unzulässig zeichen tauschen
13.02.2014 12:19:52
klaus
hallo franz,
auch du bist eine bank. DANKE!
klaus

Ist das DEIN Stil, nicht antworten, neu fragen?
12.02.2014 19:46:57
Luc:-?
:-(

AW: Ist das DEIN Stil, nicht antworten, neu fragen?
13.02.2014 12:17:03
klaus
hallo luc,
gestern habe ich meine arbeit damit beendet, zwei fragen hierzustellen und heute nachzuschauen. wenn ich da was falsch gemacht habe, dann sorry dafür. nochmals DANKE für deine codeschnipsel bei der anderen anfrage.
viele grüße klaus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige