Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Zelleninhalt vergelichen und 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
Autor Thema:  Zelleninhalt vergelichen und ersetzen (867 mal gelesen)
buecherm83
Mitglied
Ingenieur IT Application Software


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

Beiträge: 78
Registriert: 20.09.2011

SIEMENS NX10
CATIA V5 R24
VB7.1
Tecnomatix Process Designer/Simulate<P>Win7 64bit
Office 2010

erstellt am: 24. Apr. 2017 10:15    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,

ich habe eine Excel Dokument welches importierte Daten enthält. Diese Daten haben eine eindeutige Nummer und dann einen beliebigen Text z. B. "1-1-1 Hallo Welt".

Dieser Text soll durch einen entsprechenden Text der ein einem anderen Dokument steht ersetzt werden der mit der gleichen Nummer beginnt also "1-1-1 Beispieltext".

In den impoierten Daten befinden sich auch weitere Daten die nicht verändert werden sollen. Diese haben keine Nummer am Anfang.

Das Makro sollte also die Spalte nach allen Zellen mit einer Nummer am Anfang durchsuchen und ersetzten. Der Rest soll nicht beachtet werden.

Könnt ihr mir weiterhelfen?

Vielen Dank!

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 24. Apr. 2017 11:39    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 buecherm83 10 Unities + Antwort hilfreich

Hallo,
Wenn das nur eine Spalte betrifft würde ich hier einfach eine zusätzliche (neue) Spalte einfügen und über Suchverweis (z.B.: =SVERWEIS(A2;zweiteTabelle!$A:$B;2;falsch) <= muß natürlich angepasst werden) mir die aktuellen Werte holen.
Könnte man natürlich auch mit einer Abfrage verbinden ob der gesuchte Wert überhaupt vorhanden ist und je nachdem entscheiden welcher WErt in die neue Spalte eingetragen wird.
Anschließend neue Spalte kopieren und Inhalte einfügen, alte Spalte löschen

Sollte das nicht ausreichen => Beispielmappe als Zip-Datei hochladen

Grüße
Klaus  

PS.: Aus Deinen letzten Postings kann man sehen dass Du entweder die Antworten auf Deine Fragen nicht verfolgst oder nie eine abschließende Antwort hinterlässt. Wäre schön wenn Du diese Gepflogenheit ändern könntest damit die Antwortenden oder später den Thread lesende wissen ob die Lösung gefunden wurde.
Und es gibt auch das zusätzlich das grüne Gelöst-Häkchen.

[Diese Nachricht wurde von KlaK am 24. Apr. 2017 editiert.]

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

buecherm83
Mitglied
Ingenieur IT Application Software


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

Beiträge: 78
Registriert: 20.09.2011

SIEMENS NX10
CATIA V5 R24
VB7.1
Tecnomatix Process Designer/Simulate<P>Win7 64bit
Office 2010

erstellt am: 25. Apr. 2017 08:38    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


Zellenvergleichenundersetzen.zip

 
Hallo,

vielen Dank schon einmal. Mit dem Suchverweis komme ich nicht weiter. Ich habe eine Beispielmappe angehangen. Das erste Arbeitsblatt soll steht für die importierten Werte. Das zweite für die Werte mit denen vergelichen und anschließend ausgetausch werden soll. Als drittes Arbeitsblatt das gewünschte Ergebnis.

Grüße

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

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



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

Beiträge: 3358
Registriert: 07.06.2001

erstellt am: 25. Apr. 2017 10:55    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 buecherm83 10 Unities + Antwort hilfreich


Zellenvergleichenundersetzen2.zip

 
Servus,
anbei die Datei mit Sverweis. Idealerweise ist bei solchen 'Geschichten' die ID (1-1-1) in einer getrennten Zelle.

Anmerkung
- Das Trennzeichen zwischen ID und Bezeichnung ist das erste Leerzeichen.
- Wennfehler, dann Alte Bezeichnung.

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark  Bernd P.

[Diese Nachricht wurde von Bernd P am 25. Apr. 2017 editiert.]

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 25. Apr. 2017 16:40    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 buecherm83 10 Unities + Antwort hilfreich

Hallo buecherm83,

Genauso wie von Bernd erzeugt hätte ich es auch gemacht. Durch die Verwendung der Teil- und WennFehler-Funktion im SVerweis hat er es sogar noch etwas eleganter gelöst als bei meiner üblichen Vorgehensweise.

Der Vollständigkeit halber, man könnte es natürlich auch über ein Makro lösen.
Hier ein einfacher Code dazu bei dem die Werte in die Ergebnistabelle übernommen werden:

Code:

Sub Zellen_Aendern()
   
    On Error GoTo Err_Handler
    Dim wb As Workbook
    Dim wsA As Worksheet ' Ausgangswerte
    Dim wsV As Worksheet ' Vergleich
    Dim wsE As Worksheet ' Ergebnis
    Dim sA As Long, rA As Long ' Spalte und Reihe Ausgangswerte
    Dim sV As Long, rV As Long ' Spalte und Reihe Vergleichswerte
    Dim lV As Long ' Anzahl der Vergleichszeilen
   
    Set wb = ActiveWorkbook
    Set wsA = wb.Sheets("Importierte Werte")  ' <= Hier Eintrag der verwendeten Blätter ' Ausgang = Import
    Set wsV = wb.Sheets("Vergleich_Austausch")  ' Vergleich Austaausch
    Set wsE = wb.Sheets("Ergebnis")             ' Ergebnis
    sA = 2 ' Spalte B  <= Hier Eintrag der Ausgangsspalte
    rA = 1 ' Beginn Zeile 1
    sV = 2: rV = 1  ' Spalte und Zeile Beginn der Vergleichswerte
    lV = 1  ' Speichert Anzahl der Zeilen in Vergleichstabelle
    ' Holen der letzten Zeile im Vergleichstabelle
    While Not IsEmpty(wsV.Cells(lV, sV))
      lV = lV + 1
    Wend
   
    Dim strA As String  ' speichert Importtext
    Dim strV As String  ' speichert Vergleichstext
    Dim strSuch As String ' speichert gesuchte Positionsnummer
    Dim p As Integer    ' tempVariable
    Dim I As Long       ' tempVariable
    Dim bFound As Boolean   ' Hilfvariable für Suche
   
    ' Ausgangsspalte durchsuchen bis zum ersten leeren Wert
    Do While Not IsEmpty(wsA.Cells(rA, sA))
        bFound = False  ' erstmal falsch = nicht gefunden
        strA = wsA.Cells(rA, sA)    ' Vergleichstext aus Import holen
        p = InStr(strA, " ")        ' Anzahl der Zeichen der Positionsnummer bestimmen
        If p > 0 Then               ' Nur wenn nach PosNr. noch Text Vergleich fortführen
            strSuch = Left(strA, p)          ' Positionsnummer holen mit Leerzeichen da ansonsten "1-1" mit "1-1-1" gleichgesetzt wird
            ' Ist der Text wirklich eine Positionsnummer? Kennzeichen "-" vorhanden ?
            If InStr(strSuch, "-") > 0 Then     ' Ersatztext suchen
              For I = 1 To lV
                strV = wsV.Cells(I, sV)
                If Left(strV, Len(strSuch)) = strSuch Then
                  bFound = True
                  Exit For
                End If
              Next I
            End If
        End If
        ' Übergabe der Texte
        If bFound = True Then
          wsV.Cells(I, sV).Copy Destination:=wsE.Cells(rA, sA) ' Austauschtext
        Else
          wsA.Cells(rA, sA).Copy Destination:=wsE.Cells(rA, sA) ' Importtext
        End If
        ' Ausgangsformat übernehmen
        wsA.Cells(rA, sA).Copy
        wsE.Cells(rA, sA).PasteSpecial Paste:=xlPasteFormats
        rA = rA + 1
    Loop
    Exit Sub
   
Err_Handler:
  MsgBox "Fehler : " & Err.Number & vbCrLf & Err.Description
  Stop
  Resume Next
 
End Sub

Grüße
Klaus  

[Diese Nachricht wurde von KlaK am 25. Apr. 2017 editiert.]

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

buecherm83
Mitglied
Ingenieur IT Application Software


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

Beiträge: 78
Registriert: 20.09.2011

SIEMENS NX10
CATIA V5 R24
VB7.1
Tecnomatix Process Designer/Simulate<P>Win7 64bit
Office 2010

erstellt am: 26. Apr. 2017 10:19    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

Danke für eure Hilfe.

Habe mein Problem mit dem Vorschlag von Bernd lösen können.

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)2023 CAD.de | Impressum | Datenschutz