Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Vergleich von 2 Spalten auf gleichen Inhalt
#11
Hallöchen,

Zitat:Hallo, es gibt KEINE Spalte 8 oder 145 das sind Zeilen..

… Z1S1 Smile

Leerzeichen und Zeichen(10) würde ich nicht entfernen, dadurch kann man letztendlich nicht mehr kontrollieren, ob Ziffern getrennt waren oder nicht - ich hab dazu auf dem Bild mal unten die 1241 in 12 und 41 getrennt, diese Trennung wäre, wie gesagt, nicht mehr sichtbar …

   

Ich hab hier einfach die Zellinhalte mit in der Formel verarbeitetem Zeichen 10 verglichen und zusätzlich ausgegeben, ob das Zeichen 10 enthalten ist. Diese Zeilen müsstest Du dann überprüfen. Falls Leerzeichen enthalten sind, dann auch noch darauf prüfen. Im Beispiel waren anscheinend keine.

Arbeitsblatt mit dem Namen 'Tabelle1'
EFGHI
4Spalte 1Spalte 2Identisch Ja/NeinErgebnis
512441224FALSCH0Ja

ZelleFormel
G5=WECHSELN(E5;ZEICHEN(10);"")=WECHSELN(F5;ZEICHEN(10);"")
H5=ZÄHLENWENN(E5;"*"&ZEICHEN(10)&"*")+ZÄHLENWENN(F5;"*"&ZEICHEN(10)&"*")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#12
Hallöchen,

hier wäre mal ein VBA-Code. Die Ergebnisse werden erst mal in Spalte D eingetragen. Der Code deckt noch nicht alle Fälle ab. Im Moment gehe ich davon aus, dass in Spalte F maximal ein Eintrag steht, auch wenn ab und an Zeilenumbrüche enthalten sind. Nicht abgedeckt wäre auch der Fall, dass mehrere Zeilenumbrüche stehen, aber ansonsten kein Inhalt.

Code:
Option Explicit

Sub test()
'Variablendeklaration
Dim iCnt1&, iCnt2%, lRow&, arrtempE, arrTempF
'Endzeile aus letztem Eintrag  der Spalten E und F ermitteln
lRow = WorksheetFunction.Max(Cells(Rows.Count, 5).End(xlUp).Row, Cells(Rows.Count, 6).End(xlUp).Row)
'Schleife bis zur Endzeile
For iCnt1 = 5 To lRow
  'wenn das Gleiche drin steht, dann
  If Cells(iCnt1, 5).Value = Cells(iCnt1, 6).Value Then
    'Wahr eintragen
    Cells(iCnt1, 4).Value = True
  'oder wenn nicht das Gleiche drin steht, dann
  Else
    'Array E bilden
    arrtempE = Split(Cells(iCnt1, 5), Chr(10))
    'Array F bilden
    'arrTempF = Split(Cells(iCnt1, 6), Chr(10))
    arrTempF = Split(Replace(Cells(iCnt1, 6), Chr(10), ""), Chr(10))
    'wenn nur je ein Eintrag dann ...
    If UBound(arrtempE) = 0 And UBound(arrTempF) = 0 Then
      '... muesste es was unterschiedliches sein - Falsch eintragen
      Cells(iCnt1, 4) = False
    'oder wenn ein Eitrag kein Array ist, dann
    ElseIf UBound(arrtempE) < 0 Or UBound(arrTempF) < 0 Then
      '... muesste es was unterschiedliches sein - Falsch eintragen
      Cells(iCnt1, 4) = False
    'oder
    Else
      '... erst mal Wahr eintragen
      Cells(iCnt1, 4) = True
      'Schleife ueber alle array-Eintraege
      For iCnt2 = 0 To UBound(arrtempE)
        'wenn da was steht und es ist was anderes, dann
        If arrtempE(iCnt2) <> "" And arrtempE(iCnt2) <> arrTempF(0) Then
          'Falsch eintragen
          Cells(iCnt1, 4) = False
        End If
      'Ende Schleife ueber alle array-Eintraege
      Next
    'Ende wenn nur je ein Eintrag dann ...
    End If
  'Ende wenn das Gleiche drin steht, dann
  End If
'Ende Schleife bis zur Endzeile
Next
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#13
Man sollte erst leere Zeiilen löschen.

Und dann reicht:

Code:
Sub M_snb()
   sn = Sheet1.Cells(4, 5).CurrentRegion
  
   For j = 2 To UBound(sn)
     sn(j, 3) = Format(sn(j, 1) <> "" And Replace(Replace(sn(j, 1), vbLf, ""), Replace(sn(j, 2), vbLf, ""), "") = "", "yes/no")
   Next
  
   Sheet1.Cells(4, 5).CurrentRegion = sn
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste