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

Syntaxfrage zu Replace

Syntaxfrage zu Replace
Jörg-HH
Hallo zusammen
mit dem kleinen Schnipsel hier wollte ich Namen ändern, wenn es denn zuviele sind für Handarbeit. Warum wird die Replace-Zeile rot bemeckert?
Sub NamenÄndern()
Dim nm As Name
Dim nmAlt As Name
Dim nmNeu As Name
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
nmAlt = InputBox("?", "Alter Name oder Namensteil")
nmNeu = InputBox("?", "Neuer Name oder Namensteil")
If Len(nmAlt)  Len(nmNeu) Then
MsgBox "bubu"
Else
For Each nm In ActiveWorkbook.Names
If Left(nm, Len(nmAlt)) = nmAlt Then
Application.WorksheetFunction.Replace(nmalt, 1, len(nmalt), nmneu)
End If
Next nm
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Syntaxfrage zu Replace
25.07.2012 20:43:51
Gerd
Hallo Jörg,
ungetestet.
Sub NamenÄndern()
Dim nm As Name
Dim nmAlt As Name
Dim nmNeu As Name
nmAlt = InputBox("?", "Alter Name oder Namensteil")
nmNeu = InputBox("?", "Neuer Name oder Namensteil")
If Len(nmAlt)  Len(nmNeu) Then
MsgBox "bubu"
Else
For Each nm In ActiveWorkbook.Names
nm.Name = Replace(nm.Name, nmAlt, nmNeu)
End If
Next nm
End If
End Sub
PS.: Beim Ab- u. Einschalten der "Applications" bist du etwas verrutscht.
Gruß Gerd
nicht ganz
25.07.2012 20:51:17
Jörg-HH
Hi Gerd
stimmt mit den Applications - da hätte ich mich wieder totgesucht :-)
das andre geht noch nicht so - ich will ja nicht ganze Namen ersetzen, sondern Teile davon...
Jörg
Anzeige
AW: Neuer Versuch - Neues Glück
25.07.2012 21:02:32
Gerd
Hi Jörg,
angetestet, so wurde bei mir aus dem Namen JörgMM dann JörgHH.
Sub NamenÄndern()
Dim nm As Name
Dim nmAlt As String
Dim nmNeu As String
nmAlt = InputBox("?", "Alter Name oder Namensteil")
nmNeu = InputBox("?", "Neuer Name oder Namensteil")
If Len(nmAlt)  Len(nmNeu) Then
MsgBox "bubu"
Else
For Each nm In ActiveWorkbook.Names
nm.Name = Replace(nm.Name, nmAlt, nmNeu)
Next nm
End If
End Sub
Gruß Gerd
:-) gleiches Problem
25.07.2012 21:10:31
Jörg-HH
ich möchte nicht einen Namen durch einen anderen ersetzen, sondern Teile davon
ich hab viele Namen mit Indizes: Meier11, Meier12, Meier13... Meier21, Meier22, Meier23...
Da möchte ich jetzt Meier durch Muhkuh ersetzen - die Indizes sollen aber erhalten bleiben
:-)
Anzeige
Replace ist eine Fkt, da muss links davon ...
25.07.2012 22:05:09
...
…auch was stehen, Jörg,
mit = dazwischen! ;->
Gruß Luc :-?
tja, Luc - abschreiben müßte man können... :-)
25.07.2012 23:12:52
Jörg-HH
hatte das Beispiel aus der Hilfe als Vorlage genommen - da steht auch was von Gleichheitszeichen
jetzt sieht das so aus - kein Fehler, aber macht auch keine Änderung:
Sub NamenÄndern()
'ändert Bereichsnamen
Dim nm As Name
Dim nmAlt As String
Dim nmNeu As String
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
nmAlt = InputBox("Neuer Name oder Namensteil", "Namen ändern")
nmNeu = InputBox("Neuer Name oder Namensteil", "Namen ändern")
If Len(nmAlt)  Len(nmNeu) Then MsgBox "bubu"
For Each nm In ActiveWorkbook.Names
If Left(nm, Len(nmAlt)) = nmAlt Then
nm.Name = Application.WorksheetFunction.Replace(nmAlt, 1, Len(nmAlt), nmNeu)
End If
Next nm
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

Anzeige
AW: Syntaxfrage zu Replace
25.07.2012 23:24:41
Josef

Hallo Jörg,
probiers so.
Sub changeNamesName()
  Dim objName As Name
  Dim strFind As String, strReplace As String
  
  strFind = "Meier"
  strReplace = "Muhu"
  
  For Each objName In ThisWorkbook.Names
    If LCase(objName.Name) Like "*" & LCase(strFind) & "*" Then
      objName.Name = Replace(objName.Name, strFind, strReplace, Compare:=vbTextCompare)
    End If
  Next
  
End Sub



« Gruß Sepp »

Anzeige
nebenbei, wozu braucht man so viele Namen? o.T.
25.07.2012 23:26:59
Josef
« Gruß Sepp »

klappt...
26.07.2012 00:20:40
Jörg-HH
danke an alle...
so viele Namen...? 25 Checkboxen aus 5 Gruppen zu je 5 Sorten regeln diverse Ein- und Ausblendungen in zehn verschiedenen Blättern. Zusätzlich muß ich noch die Boxen gruppenweise disablen, wenn bestimmte Einstellungen dies wünschen.
Damit bin ich am einfachsten durch, wenn ich in den Blättern Lokalnamen mit Indizes verteile, die mit den Checkbox-Namen samt Indizes korrespondieren. Zumindest fällt mir kein sinnvoller anderer Weg ein.
Grüße - Jörg
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige