Office: Kompliziertes Ersetzen

Helfe beim Thema Kompliziertes Ersetzen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, jetzt wird es kompliziert: Ich habe 106 Excel- Dokumente. Die Namen habe immer die gleiche Struktur: WWG_Nummer. In einer anderen Datei... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von derhornist, 18. März 2008.

  1. derhornist Erfahrener User

    Kompliziertes Ersetzen


    Hallo, jetzt wird es kompliziert:

    Ich habe 106 Excel- Dokumente. Die Namen habe immer die gleiche Struktur: WWG_Nummer. In einer anderen Datei "Nummern.xls" habe ich die Nummern hinterlegt.
    Excel soll nun folgendes ausführen. Die erste Nummer aus der "Nummern.xls" nehmen, die entsprechnde Datei öffnen, den Blattschutz entfernen, dann in Spalte A2 bis A200 nach den gleichen Nummern suchen und diese dann durch einen anderen Text ersetzen. Und zwar immer die gleiche Nummer mit dem gleichen Text z.B. "A","B" usw. Dann soll der Blattschutz wieder rein und die Datei gespeichert und geschlossen werden. Dann die nächste Datei öffnen und das Spiel geht wieder los. Die Nummern in A2 bis A200 sind allerdings von Dok zu Dok verschieden.

    Würde so etwas gehen oder ist das zu kompliziert?

    Mir würde es eine große Menge an Such und Klick- Arbeit sparen.

    Vielen Dank und Gruß
     
    derhornist, 18. März 2008
    #1
  2. schatzi Super-Moderator
    Hallo!

    Was da nun genau ersetzt werden soll, habe ich nicht so ganz verstanden, aber vielleicht kannst du dir diesen Code ja selbst zu Ende basteln:
    Code:
    Sub Ersetzen()
    Const Pfad = "E:\Test\Test\"
    Dim Mappe As String, Nummer As Range, Zelle As Range
    For Each Nummer In Columns(1).SpecialCells(xlCellTypeConstants)
    Mappe = Pfad & "WWG_" & Nummer & ".xls"
    Workbooks.Open (Mappe)
    For Each Zelle In Workbooks(Mappe).Sheets(1).Range("A2:A200")
    If Zelle = Nummer Then Zelle = "Ersatztext"
    Next Zelle
    Workbooks(Mappe).Close SaveChanges:=True
    Next Nummer
    End Sub
    
     
    schatzi, 18. März 2008
    #2
  3. derhornist Erfahrener User
    Re

    Hallo,
    zunächst einmal Danke für die Schnelle Antwort.
    Weges des Ersetzens:

    In A2 bis A200 stehen verschiedene Personalnummern. Diese Personalnummern sollen durch z.B. Mitarbeiter1, Mitarbeiter2 usw. ersetzt werden. Also immer die gleiche Personalnummer durch den gleichen Text. Aber das dürfte klar sein. Es kann also sein, dass in A2 bis A6 die Personalnummer 1 steht, in A7 bis A20 Nummer 2 und ab A21 bis A25 wieder Nummer 1. Es ist vorher nicht klar, wieviele verschiedene Nummern in der Datei enthalten sind. Das kann nur eine sein, oder auch 10.

    Gruß
     
    derhornist, 18. März 2008
    #3
  4. schatzi Super-Moderator

    Kompliziertes Ersetzen

    Hallo!

    Dann musst du Excel erklären, was durch was ersetzt werden soll:
    Code:
    Sub Ersetzen()
    Const Pfad = "E:\Test\Test\"
    Dim Mappe As String, Nummer As Range, Zelle As Range
    For Each Nummer In Columns(1).SpecialCells(xlCellTypeConstants)
    Mappe = Pfad & "WWG_" & Nummer & ".xls"
    Workbooks.Open (Mappe)
    For Each Zelle In Workbooks(Mappe).Sheets(1).Range("A2:A200")
    Select Case Zelle
    Case "1": Zelle = "Mitarbeiter1"
    Case "2": Zelle = "Mitarbeiter2"
    Case "100": Zelle = "ausgeschieden"
    'usw.
    End Select
    Next Zelle
    Workbooks(Mappe).Close SaveChanges:=True
    Next Nummer
    End Sub
     
    schatzi, 18. März 2008
    #4
  5. derhornist Erfahrener User
    Re

    Ok, vielen Dank.
    Ich werde es einmal versuchen.

    Gruß
     
    derhornist, 18. März 2008
    #5
  6. derhornist Erfahrener User
    Re

    Hallo,

    ich bekomme immer den folgenden Fehler:

    Laufzeitfehler 9
    Index außerhalb des gültigen Bereichs

    bei Debuggen kommt der Verweis auf folgende Zeile

    For Each Zelle In Workbooks(Mappe).Sheets(1).Range("A2:A200")

    Was kann das sein?

    Danke
     
    derhornist, 18. März 2008
    #6
  7. schatzi Super-Moderator
    Stimmt!

    Probier's mal so:
    Code:
    Sub Ersetzen()
    Const Pfad = "E:\Test\Test\"
    Dim Mappe As String, Nummer As Range, Zelle As Range
    For Each Nummer In Columns(1).SpecialCells(xlCellTypeConstants)
    Mappe = Pfad & "WWG_" & Nummer & ".xls"
    Workbooks.Open (Mappe)
    For Each Zelle In ActiveWorkbook.Sheets(1).Range("A2:A200")
    Select Case Zelle
    Case "1": Zelle = "Mitarbeiter1"
    Case "2": Zelle = "Mitarbeiter2"
    Case "100": Zelle = "ausgeschieden"
    'usw.
    End Select
    Next Zelle
    ActiveWorkbook.Close SaveChanges:=True
    Next Nummer
    End Sub
     
    schatzi, 18. März 2008
    #7
  8. derhornist Erfahrener User

    Kompliziertes Ersetzen

    Re

    OK,

    jetzt kommt:

    Laufzeitfehler 438
    Objekt unterstützt diese Eigenschaft oder Methode nicht.

    mit Verweis auf:

    For Each Nummer In Columns(1).SpecialZelles(xlZelleTypeConstants)

    Gruß
     
    derhornist, 18. März 2008
    #8
  9. schatzi Super-Moderator
    Hallo!
    Liegt es vielleicht an den Schreibfehlern?

    Oder stehen deine Nummern nicht in Spalte A?
    Dann musst du Columns(x) anpassen, oder durch den exakten Bereich ersetzen, z.B. Range("B5:B39").
     
    schatzi, 18. März 2008
    #9
  10. derhornist Erfahrener User
    Re

    Den Schreibfehler habe ich korrigiert. Die Nummern stehen auch in Spalte A. Der Fehler kommt aber immer noch.

    Gruß
     
    derhornist, 18. März 2008
    #10
  11. schatzi Super-Moderator
    Hallo!

    Dann kann es maximal noch daran liegen, dass deine Nummern durch Formeln entstanden sind.
    Dann musst du auf diese Zellen zugreifen:
    ...(xlCellTypeFormulas)

    Ansonsten bin ich mit meinem Latein am Ende, denn bei mir funktioniert es...
     
    schatzi, 18. März 2008
    #11
  12. derhornist Erfahrener User
    Re

    Also hier ist mein Code:
    Code:
    Sub Ersetzen()
    Const Pfad = "D:\Arbeitsordner\Versuch\"
    Dim Mappe As String, Nummer As Range, Zelle As Range
    For Each Nummer In Columns(1).SpecialZelle(xlZelleTypeConstants)
    Mappe = Pfad & "SB01_RBU_" & Nummer & ".xls"
    Workbooks.Open (Mappe)
    For Each Zelle In ActiveWorkbook.Sheets(1).Range("A2:A200")
    Select Case Zelle
    Case "25001535": Zelle = "Mitarbeiter 1"
    Case "20464": Zelle = "Mitarbeiter 2"
    Case "27004": Zelle = "Mitarbeiter 3"
    Case "11009895": Zelle = "Mitarbeiter 4"
    Case "495": Zelle = "Mitarbeiter 5"
    Case "62785": Zelle = "Mitarbeiter 6"
    Case "11017650": Zelle = "Mitarbeiter 7"
    Case "69238": Zelle = "Mitarbeiter 8"
    Case "70966": Zelle = "Mitarbeiter 9"
    Case "5224": Zelle = "Mitarbeiter 10"
    Case "76152": Zelle = "Mitarbeiter 11"
    Case "11020770": Zelle = "Mitarbeiter 12"
    Case "87019": Zelle = "Mitarbeiter 13"
    Case "88583": Zelle = "Mitarbeiter 14"
    Case "25010880": Zelle = "Mitarbeiter 15"
    Case "25012777": Zelle = "Mitarbeiter 16"
    Case "11032014": Zelle = "Mitarbeiter 17"
    Case "5225": Zelle = "Mitarbeiter 18"
    Case "25014618": Zelle = "Mitarbeiter 19"
    Case "153591": Zelle = "Mitarbeiter 20"
    Case "154506": Zelle = "Mitarbeiter 21"
    Case "169351": Zelle = "Mitarbeiter 22"
    Case "25015992": Zelle = "Mitarbeiter 23"
    Case "178658": Zelle = "Mitarbeiter 24"
    Case "204734": Zelle = "Mitarbeiter 25"
    Case "25020565": Zelle = "Mitarbeiter 26"
    Case "214208": Zelle = "Mitarbeiter 27"
    Case "215291": Zelle = "Mitarbeiter 28"
    Case "228089": Zelle = "Mitarbeiter 29"
    Case "11060307": Zelle = "Mitarbeiter 30"
    Case "5407": Zelle = "Mitarbeiter 31"
    Case "240739": Zelle = "Mitarbeiter 32"
    Case "11063150": Zelle = "Mitarbeiter 33"
    Case "11064102": Zelle = "Mitarbeiter 34"
    Case "248269": Zelle = "Mitarbeiter 35"
    Case "25025090": Zelle = "Mitarbeiter 36"
    Case "268331": Zelle = "Mitarbeiter 37"
    Case "4646": Zelle = "Mitarbeiter 38"
    Case "11072747": Zelle = "Mitarbeiter 39"
    Case "6375": Zelle = "Mitarbeiter 40"
    Case "478": Zelle = "Mitarbeiter 41"
    Case "2010955": Zelle = "Mitarbeiter 42"
    Case "4076": Zelle = "Mitarbeiter 43"
    Case "291878": Zelle = "Mitarbeiter 44"
    Case "2961": Zelle = "Mitarbeiter 45"
    Case "837289": Zelle = "Mitarbeiter 46"
    Case "107907": Zelle = "Mitarbeiter 47"
    Case "11078110": Zelle = "Mitarbeiter 48"
    Case "304098": Zelle = "Mitarbeiter 49"
    Case "308047": Zelle = "Mitarbeiter 50"
    Case "329016": Zelle = "Mitarbeiter 51"
    Case "350539": Zelle = "Mitarbeiter 52"
    Case "351676": Zelle = "Mitarbeiter 53"
    Case "5742": Zelle = "Mitarbeiter 54"
    Case "361151": Zelle = "Mitarbeiter 55"
    Case "25037315": Zelle = "Mitarbeiter 56"
    Case "4905": Zelle = "Mitarbeiter 57"
    Case "25040945": Zelle = "Mitarbeiter 58"
    Case "403563": Zelle = "Mitarbeiter 59"
    Case "5752": Zelle = "Mitarbeiter 60"
    Case "419748": Zelle = "Mitarbeiter 61"
    Case "25043605": Zelle = "Mitarbeiter 62"
    Case "2013970": Zelle = "Mitarbeiter 63"
    Case "25046552": Zelle = "Mitarbeiter 64"
    Case "25046660": Zelle = "Mitarbeiter 65"
    Case "438297": Zelle = "Mitarbeiter 66"
    Case "25046873": Zelle = "Mitarbeiter 67"
    Case "5383": Zelle = "Mitarbeiter 68"
    Case "531": Zelle = "Mitarbeiter 69"
    Case "444292": Zelle = "Mitarbeiter 70"
    Case "11127590": Zelle = "Mitarbeiter 71"
    Case "11133260": Zelle = "Mitarbeiter 72"
    Case "4445": Zelle = "Mitarbeiter 73"
    Case "501277": Zelle = "Mitarbeiter 74"
    Case "25053266": Zelle = "Mitarbeiter 75"
    Case "25053455": Zelle = "Mitarbeiter 76"
    Case "5433": Zelle = "Mitarbeiter 77"
    Case "527118": Zelle = "Mitarbeiter 78"
    Case "11146161": Zelle = "Mitarbeiter 79"
    Case "3555": Zelle = "Mitarbeiter 80"
    Case "25059432": Zelle = "Mitarbeiter 81"
    Case "11152665": Zelle = "Mitarbeiter 82"
    Case "25059926": Zelle = "Mitarbeiter 83"
    Case "4751": Zelle = "Mitarbeiter 84"
    Case "11160528": Zelle = "Mitarbeiter 85"
    Case "104035": Zelle = "Mitarbeiter 86"
    Case "601116": Zelle = "Mitarbeiter 87"
    Case "11162262": Zelle = "Mitarbeiter 88"
    Case "11163100": Zelle = "Mitarbeiter 89"
    Case "11166610": Zelle = "Mitarbeiter 90"
    Case "11167990": Zelle = "Mitarbeiter 91"
    Case "624103": Zelle = "Mitarbeiter 92"
    Case "25068370": Zelle = "Mitarbeiter 93"
    Case "2010957": Zelle = "Mitarbeiter 94"
    Case "11169766": Zelle = "Mitarbeiter 95"
    Case "11224344": Zelle = "Mitarbeiter 96"
    Case "644516": Zelle = "Mitarbeiter 97"
    Case "11230410": Zelle = "Mitarbeiter 98"
    Case "6217": Zelle = "Mitarbeiter 99"
    Case "688621": Zelle = "Mitarbeiter 100"
    Case "4223": Zelle = "Mitarbeiter 101"
    Case "707655": Zelle = "Mitarbeiter 102"
    Case "11241923": Zelle = "Mitarbeiter 103"
    Case "25077685": Zelle = "Mitarbeiter 104"
    Case "736249": Zelle = "Mitarbeiter 105"
    Case "104124": Zelle = "Mitarbeiter 106"
    Case "751452": Zelle = "Mitarbeiter 107"
    Case "546804": Zelle = "Mitarbeiter 108"
    Case "11306234": Zelle = "Mitarbeiter 109"
    Case "550551": Zelle = "Mitarbeiter 110"
    Case "11311927": Zelle = "Mitarbeiter 111"
    Case "791568": Zelle = "Mitarbeiter 112"
    Case "11313542": Zelle = "Mitarbeiter 113"
    Case "104626": Zelle = "Mitarbeiter 114"
    Case "25087205": Zelle = "Mitarbeiter 115"
    Case "106246": Zelle = "Mitarbeiter 116"
    Case "25087940": Zelle = "Mitarbeiter 117"
    Case "81141": Zelle = "Mitarbeiter 118"
    Case "811477": Zelle = "Mitarbeiter 119"
    Case "813068": Zelle = "Mitarbeiter 120"
    Case "11318735": Zelle = "Mitarbeiter 121"
    Case "5326": Zelle = "Mitarbeiter 122"
    Case "11320554": Zelle = "Mitarbeiter 123"
    Case "11320590": Zelle = "Mitarbeiter 124"
    Case "71126": Zelle = "Mitarbeiter 125"
    Case "823297": Zelle = "Mitarbeiter 126"
    Case "82667": Zelle = "Mitarbeiter 127"
    Case "5146": Zelle = "Mitarbeiter 128"
    Case "844491": Zelle = "Mitarbeiter 129"
    Case "11326590": Zelle = "Mitarbeiter 130"
    Case "556642": Zelle = "Mitarbeiter 131"
    Case "25092782": Zelle = "Mitarbeiter 132"
    Case "11328440": Zelle = "Mitarbeiter 133"
    Case "860664": Zelle = "Mitarbeiter 134"
    Case "11325800": Zelle = "Mitarbeiter 135"
    Case "25095473": Zelle = "Mitarbeiter 136"
    Case "892977": Zelle = "Mitarbeiter 137"
    Case "25097137": Zelle = "Mitarbeiter 138"
    Case "11338064": Zelle = "Mitarbeiter 139"
    Case "2015332": Zelle = "Mitarbeiter 140"
    Case "908622": Zelle = "Mitarbeiter 141"
    Case "921766": Zelle = "Mitarbeiter 142"
    Case "925211": Zelle = "Mitarbeiter 143"
    Case "25101159": Zelle = "Mitarbeiter 144"
    Case "938992": Zelle = "Mitarbeiter 145"
    Case "5211": Zelle = "Mitarbeiter 146"
    Case "25103458": Zelle = "Mitarbeiter 147"
    Case "25103495": Zelle = "Mitarbeiter 148"
    Case "959313": Zelle = "Mitarbeiter 149"
    Case "25104070": Zelle = "Mitarbeiter 150"
    Case "965769": Zelle = "Mitarbeiter 151"
    Case "11359878": Zelle = "Mitarbeiter 152"
    Case "992228": Zelle = "Mitarbeiter 153"
    End Select
    Next Zelle
    ActiveWorkbook.Close SaveChanges:=True
    Next Nummer
    End Sub
    
    Vielleicht hilft das.
    
    Gruß
     
    derhornist, 18. März 2008
    #12
  13. schatzi Super-Moderator

    Kompliziertes Ersetzen

    Hallo!
    Hast du nicht gesagt, du hättest die Schreibfehler korrigiert???

    Ich schrieb dies:
    Wer lesen kann, ist klar im Vorteil...
     
    schatzi, 18. März 2008
    #13
  14. derhornist Erfahrener User
    Re

    Ja, stimmt. Kompliziertes Ersetzen :oops:

    Auf jeden Fall werden die Daten jetzt nacheinander geöffnet und gespeichert. Allerdings wird der Zelleninhalt leider nicht gändert. Liegt das vermutlich daran, dass die Zellen auf dem Blatt2 "LW2" stehen?

    Gruß
     
    derhornist, 18. März 2008
    #14
  15. schatzi Super-Moderator
    Klar!

    Dann natürlich
    For Each Zelle In ActiveWorkbook.Sheets(2).Range("A2:A200")
    oder
    For Each Zelle In ActiveWorkbook.Sheets("LW2").Range("A2:A200")
     
    schatzi, 18. März 2008
    #15
Thema:

Kompliziertes Ersetzen

Die Seite wird geladen...
  1. Kompliziertes Ersetzen - Similar Threads - Kompliziertes Ersetzen

  2. Erbitte komplizierte Formel Wenn,dann oder wenn dies, dann

    in Microsoft Excel Hilfe
    Erbitte komplizierte Formel Wenn,dann oder wenn dies, dann: Hallo liebe Wissende, folgende 3 Probleme schaffe ich, als Laie, auch mit Hilfe des Internets nicht zu lösen. Mir wird monatlich eine csv-Datei mit folgenden Daten zur Verfügung gestellt. Ich...
  3. Berechung monatl. Kosten

    in Microsoft Excel Hilfe
    Berechung monatl. Kosten: Hallo zusammen, ich habe mal eine Excel erstellt, die versucht mein Problem etwas näher zu beschreiben. Gegeben ist eine Tabelle, welche Daten enthält, sowie ein Projekt, welches an dem Tag...
  4. Hilfe bei Formel-Vereinfachung/-Kürzung

    in Microsoft Excel Hilfe
    Hilfe bei Formel-Vereinfachung/-Kürzung: Hallo zusammen, ich stehe gerade auf dem Schlauch bei der Vereinfachung/Kürzung einer Formel. Mein aktuelles Ziel ist es in Excel die Umsätze bei der Einstellung neuer Vertriebsmitarbeiter zu...
  5. Prüfen und Verketten von Zellen mit Formeln als Inhalt

    in Microsoft Excel Hilfe
    Prüfen und Verketten von Zellen mit Formeln als Inhalt: Sehr geehrte Damen und Herren, ich möchte in einer Excel Tabelle ca. 72 Zellen miteinander verketten und prüfen, ob diese gefüllt sind, falls manche dieser Zellen leer sind sollen diese aus der...
  6. Komplizierter Blattschutz

    in Microsoft Excel Hilfe
    Komplizierter Blattschutz: Hi, ich brauchte Unterstützung bei der Umsetzung eines Schreibschutzes/Blattschutzes. Dieser Schutz soll folgendermaßen aussehen: 1. Insgesamt habe ich 10 Tabellenblätter die geschützt werden...
  7. Tastenkombination für die Texthervorhebunsfarbe möglich? + 2. komplizierte Frage

    in Microsoft Word Hilfe
    Tastenkombination für die Texthervorhebunsfarbe möglich? + 2. komplizierte Frage: Hallo! Schon vorab vielen lieben Dank, falls jemand eine Idee hat für mich. Ich habe zwei Fragen, ob gewisse Funktionen in Microsoft Word 2010 möglich sind: 1. Ich nutze in beim Verfassen...
  8. Übergang bei einer Draufsicht eines 3D Diagrammes

    in Microsoft Excel Hilfe
    Übergang bei einer Draufsicht eines 3D Diagrammes: Hallo Zusammen! Ich bestle zurzeit an einer Grafik und komme einfach nicht auf eine Lösung. Vermutlich gibt es auch keine ^^:confused: Also...Folgende Situation: Es gibt die Geamtkosten,...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden