Hot News:

Unser Angebot:

  Foren auf CAD.de
  Excel
  mehrere Begriffe in einer Tabelle ersetzen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  mehrere Begriffe in einer Tabelle ersetzen (3809 mal gelesen)
kabrijo
Mitglied



Sehen Sie sich das Profil von kabrijo an!   Senden Sie eine Private Message an kabrijo  Schreiben Sie einen Gästebucheintrag für kabrijo

Beiträge: 11
Registriert: 19.01.2006

MS-Excel 2003, SP2

erstellt am: 26. Mrz. 2007 17:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo, da bin ich wieder.

Ich muß immer wieder Begriffe in automatisch erstellten Tabellen ersetzen. Z. Bsp. 1710517002 in 1710517-002 oder 51604A in 51604AE.
Ich möchte gerne eine Tabelle für den Originalbegriff und den Ersatzbegriff erstellen (A1 = Original/Suchbegriff, B1 = Ersatzbegriff), so dass Excel dann automatisch die Suchbegriffe (A1, A2, etc.) in einer beliebigen Tabelle sucht und durch die Ersatzbegriffe (B1, B2, etc.)ersetzt.

Geht sowas?

Ich bau auf Euch!

mfg
Kay

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8086
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 26. Mrz. 2007 18:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kabrijo 10 Unities + Antwort hilfreich

Tag auch,
so z.B.:
Code:
Option Explicit
Sub SuchenUndErsetzen()
Dim LZATab1 As Integer, LZATab2 As Integer, i As Integer
Dim cell As Range

LZATab1 = Tabelle1.Columns(1).Find("*", [A1], , , xlByRows, xlPrevious).Row
LZATab2 = Tabelle2.Columns(1).Find("*", [A1], , , xlByRows, xlPrevious).Row
Tabelle1.Activate
    For i = 1 To LZATab2
        For Each cell In Tabelle1.Range(Cells(1, 1), Cells(LZATab1, 1))
            cell.Replace What:=Tabelle2.Cells(i, 1).Value, Replacement:=Tabelle2.Cells(i, 2).Value, LookAt:=xlWhole, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=False
        Next cell
    Next i
End Sub



Ersetzt in Tabelle1, SpalteA alles, was er in Tabelle2, Spalte A findet mit Tabelle2, SpalteB
[rredit] kleine Anmerkung: hab grade gemerkt, dass das Tabellenblatt in dem gesucht und ersetzt wird (also hier: Tabelle1) aktiv sein muß. [/rredit]

Als Ansatz.
Macht das ganze erstmal nur innerhalb einer Mappe. Das aus ner anderen Mappe zu holen ist jetzt Dein Part. Lösung stellste dann rein, OK?

Ne schöne Eingabeaufforderung, um die entsprechenden Dateien zu wählen, hat der Thomas Harmening übrigens mal gemacht bin aber zu faul zum Suchen ;-)

[rredit2] Als Hilfe für's ausbauen und für's nächste Mal: mein Weg zum Ziel: Ich hab den MakroRekorder mal angeworfen und geschaut, wie der denn wohl ein Suchen&Ersetzen realisiert. Wenn man dann diese Tipps beherzigt, kann man mit dem durchaus was anfangen ;-).

Dann hab ich überlegt, welche Daten er durchsuchen soll (jede Zelle in Tabelle1.SpalteA) und womit er vergleichen soll (Tabelle2.SpalteA) und womit er die Fundstücke ersetzen soll (Tabelle2.SpalteB). Das ganze also in zwei Schleifen gepackt und so ein bestimmt ausbaufähiges ;-) aber dennoch für den Anfang mal brauchbares Makro zusammengeflickt. [/rredit2]

Und nu is wirklich Schluß mit editieren ;-)

------------------
Gruß,
runkelruebe                        Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 26. Mrz. 2007 19:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kabrijo 10 Unities + Antwort hilfreich

;-) Wie? zu faul um zu suchen ;-) Es ist doch bald Ostern!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kabrijo
Mitglied



Sehen Sie sich das Profil von kabrijo an!   Senden Sie eine Private Message an kabrijo  Schreiben Sie einen Gästebucheintrag für kabrijo

Beiträge: 11
Registriert: 19.01.2006

MS-Excel 2003, SP2

erstellt am: 27. Mrz. 2007 09:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


FehlermeldungI.jpg


FehlermeldungII.jpg

 
Danke Euch beiden.

Habe das Osterei von Thomas gefunden (war jezt ja nicht mehr wirklich schwer ;-) ) und mit runkeruebes edit zusammengefügt:

Sub SuchenUndErsetzenTabelleWaehlen()
Dim LetzteZeile As Integer
Dim nr As Integer
WBa = ActiveWorkbook.Name

GetMappe = Application.GetOpenFilename("xls-Dateien (*.xls),*.xls", , "bitte die xls-Dateien für das Zusammenführen auswählen!", MultiSelect:=True)
    If TypeName(NameZiel) = "Boolean" Then
        Beep
        MsgBox "Sie müssen eine Datei auswählen!"
        Exit Sub
    End If
   
For nr = LBound(GetMappe) To UBound(GetMappe)
LetzteZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row '(in Spalte 2)
'msgbox - nur als Hilfe
    MsgBox "Die letzte Zeile, die einen Wert beinhaltet ist: " & LetzteZeile, vbInformation, "Is nicht wahr! :-)"
Workbooks.Open Filename:=GetMappe(nr)
    WBd = ActiveWorkbook.Name

Set cpy = Range("B15:@O" & ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row) 'B15 bis zur letzten Zeile!
    Workbooks(WBa).Activate
        cpy.Copy Destination:=Worksheets("Liste").Cells(LetzteZeile + 1, 2) 'Kopieren
    Workbooks(WBd).Close SaveChanges:=False
Next nr
End Sub

Sub SuchenUndErsetzen()
Dim LZATab1 As Integer, LZATab2 As Integer, i As Integer
Dim cell As Range
LZATab1 = Tabelle1.Columns(1).Find("*", [A1], , , xlByRows, xlPrevious).Row
LZATab2 = Tabelle2.Columns(1).Find("*", [A1], , , xlByRows, xlPrevious).Row
Tabelle1.Activate
    For i = 1 To LZATab2
        For Each cell In Tabelle1.Range(Cells(1, 1), Cells(LZATab1, 1))
            cell.Replace What:=Tabelle2.Cells(i, 1).Value, Replacement:=Tabelle2.Cells(i, 2).Value, LookAt:=xlWhole, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=False
        Next cell
    Next i
End Sub

Ich habe das Makro in der Tabelle mit den Such- und Ersetz-Begriffen eingefügt. Diese Mappe ist aktiv. Ich führe das Maktro aus und wähle die Zielmappe aus. Jetzt kommen folgende Fehlermeldungen (Siehe Anhang: Fehlermeldung I & II). Leider habe ich nicht wirklich Ahnung von Makroprogrammierung, also bau ich wieder auf Euch!

Kay

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8086
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 27. Mrz. 2007 09:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kabrijo 10 Unities + Antwort hilfreich

moin moin,
sehr aussagekräftig, die "Fehlermeldungen" ;-)
Die erste ist keine, das is ne Info-Box von Thomas
Zitat:
'msgbox - nur als Hilfe
    MsgBox "Die letzte Zeile, die einen Wert beinhaltet ist: " & LetzteZeile, vbInformation, "Is nicht wahr! :-)"

bei der 2. wäre spannend, wo das auftritt, ich vermute mal hier:

Code:
Set cpy = Range("B15:@O" & ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row) 'B15 bis zur letzten Zeile!


weil Du wahrscheinlich das hier : 
Zitat:
@ entfernen -wegen dem Grapischen Smilie *grummel*


nicht beachtet hast ;-)
mach mal und probier neu.

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 27. Mrz. 2007 10:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kabrijo 10 Unities + Antwort hilfreich


Wechsel.xls.txt

 
Hallo,

so auf die Schnelle: Wie wäre es - ohne VBA - mit einem ganz banalen WECHSEL ?

------------------
Gruß,
Frederik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8086
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 27. Mrz. 2007 10:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kabrijo 10 Unities + Antwort hilfreich

@Paulchen jo, man kann sich auch nen Wolf wechseln ;-) aber kannste damit das:
Zitat:
so dass Excel dann automatisch die Suchbegriffe (A1, A2, etc.) in einer beliebigen Tabelle sucht und durch die Ersatzbegriffe (B1, B2, etc.)ersetzt.
? Eher aufwändig, oder?

und @kabrijo:

Zitat:
Leider habe ich nicht wirklich Ahnung von Makroprogrammierung, also bau ich wieder auf Euch!

das wird auf Dauer nich hinhauen ;-) Wir sind nicht immer da, vor allem nicht, wenn's brennt.
Du wirst da noch so einiges anpassen müssen... Ich empfehle mal in den VBA-Editor zu wechseln und da gehst Du Schritt für Schritt das Makro durch (mit F8) und schaust, was da im Einzelnen passiert. Es gibt Maus-hints, das Lokalfenster und den Direktbereich. Alles mal anschauen, F1 dabei und dann haben wir ne reelle Chance, dass das was wird ;-)

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kabrijo
Mitglied



Sehen Sie sich das Profil von kabrijo an!   Senden Sie eine Private Message an kabrijo  Schreiben Sie einen Gästebucheintrag für kabrijo

Beiträge: 11
Registriert: 19.01.2006

MS-Excel 2003, SP2

erstellt am: 27. Mrz. 2007 14:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


FehlermeldungIII.jpg

 
Hallo runkelruebe.

Habe es genau so gemacht, wie Du es mir nahe gelegt hast. Dann kam Fehlermeldung III

Set cpy = Range("B15 " & ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row) 'B15 bis zur letzten Zeile!
    Workbooks(WBa).Activate

bis hier ging es und dann kam die Fehlermeldung

        cpy.Copy Destination:=Worksheets("Liste").Cells(LetzteZeile + 1, 2) 'Kopieren
    Workbooks(WBd).Close SaveChanges:=False
Next nr
End Sub

Dein Edit klappt übrigens, Danke dafür
Nun muß ich nur noch beide zusdammenbringen.

Bzgl. der Makroprogrammierung: Ich denke Du hast Recht, aber ich fang lieber klein an. Vielleicht verstehe ich aber trotzdem, was wir da jetzt machen.

LG
Kay

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kabrijo
Mitglied



Sehen Sie sich das Profil von kabrijo an!   Senden Sie eine Private Message an kabrijo  Schreiben Sie einen Gästebucheintrag für kabrijo

Beiträge: 11
Registriert: 19.01.2006

MS-Excel 2003, SP2

erstellt am: 27. Mrz. 2007 14:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Jetzt hab ich auch endlich das mit dem Smilie verstanden!

 

Darauf muß man erstmal kommen.......

Kay

[Diese Nachricht wurde von kabrijo am 27. Mrz. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz