Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spalten vergleichen

Spalten vergleichen
14.04.2007 21:10:00
Andreas
Hallo,
ich habe monatlich sehr viele Excel-Dateien mit tausenden Datensätzen auszuwerten. Bisher war das mit den vorhandenen Excel-Kenntnissen kein Problem. Aufgrund von fortwährenden zusätzlichen Aufgaben und weniger Personal zählt jede Minute.
Hier mein Problem:
Ich habe folgende Spalten:
Spalte A________Spalte B_______Spalte C
Aachen_________Aachen________Aachen
Berlin________________________Berlin
_______________Köln__________Köln
__________________________________
(_________stehen für Leerzeichen)
Bisher habe ich in Spalte C mit einer Wert-Formel die Spalten ausgelesen. Wenn Spalte A und Spalte B gleicher Name, dann Wert Spalte A in Spalte C. Wenn Spalte A Name, Spalte B kein Name, dann Wert Spalte A in Spalte C. Wenn Spalte A kein Name, Spalte B Name, dann Wert Spalte B in Spalte C. Wenn weder Spalte A und Spalte B Name, dann Spalte C Leer. Es kommen in Spalte A und B keine unterschiedlichen Namen vor!
Gitb es hier ein Makro, welches die Spalten miteinander vergleicht und die Spalte C befüllt?
Für Eure Hilfe möchte ich mich bereits jetzt bedanken.
Gruß
Andreas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
mit einem wenn() oder mit links()
14.04.2007 21:40:00
heikoS
Hallo Andreas,
bestimmt geht das auch per VBA, aber warum nicht per Formel? Deine Daten in a1 und b1, dann müßte nach Deiner Beschreibung das hier funktionieren:
=wenn(a1=b1;a1;a1&b1)
Alternativ, wenn Du eher ein Linker bist ;-), auch das hier:
=links(a1&b1;max(länge(a1);länge(b1)))
Klappt´s?
Gruß Heiko

AW: mit einem wenn() oder mit links()
14.04.2007 21:50:28
Andreas
Hallo Heiko,
vielen Dank für Deinen Tipp. Bisher habe ich die Daten auch so ausgelesen. Nur wie gesagt, es sind unzählige Dateien mit mehreren tausend Zeilen (teilweise bis zu 35000 bis 40000). Das dauert bei der Anzahl der Dateien leider etwas zu lange (Performanceprobleme kommen da leider noch hinzu). Mir wäre an einem Makro sehr viel gelegen.
Kannst Du mir weiterhelfen?
Wenn nicht, trotzdem nochmals danke.
Andreas

Anzeige
kann ich (noch) nicht, daher ...
14.04.2007 21:57:00
heikoS
Hallo Andreas,
... Frage auf "offen" gestellt.
Gruß Heiko

AW: mit einem wenn() oder mit links()
14.04.2007 22:52:00
Case
Hallo,
eine Möglichkeit:

Option Explicit
Public Sub Spalten()
Dim wksblatt As Worksheet
Dim lngZeile As Long
Set wksblatt = ThisWorkbook.Worksheets("Tabelle1")
Application.ScreenUpdating = False
With wksblatt
lngZeile = .Range("A:B").SpecialCells(xlCellTypeLastCell).Row
For lngZeile = 1 To lngZeile
If .Cells(lngZeile, 1).Value  "" And .Cells(lngZeile, 2).Value  "" Then
.Cells(lngZeile, 3).Value = .Cells(lngZeile, 1).Value
ElseIf .Cells(lngZeile, 1).Value = "" And .Cells(lngZeile, 2).Value = "" Then
.Cells(lngZeile, 3).Value = ""
Else
If .Cells(lngZeile, 1).Value  "" Then
.Cells(lngZeile, 3).Value = .Cells(lngZeile, 1).Value
Else
.Cells(lngZeile, 3).Value = .Cells(lngZeile, 2).Value
End If
End If
Next lngZeile
End With
Application.ScreenUpdating = True
End Sub


Den Tabellenblattnamen - hier im Beispiel Tabelle1 - musst Du eventuell noch an Deinen Namen anpassen.
Servus
Case
Excel...

Anzeige
AW: noch zwei Makros
14.04.2007 23:00:00
Erich
Hallo Andreas,
und hier noch zwei Makroversionen zum Testen:

Option Explicit
Sub AundBinC_v1()
Dim lngZ As Long, arrA, arrB, ii As Long
lngZ = Cells(Rows.Count, 1).End(xlUp).Row
If lngZ 

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: mit einem wenn() oder mit links()
14.04.2007 23:33:00
ingUR
Hallo, Andreas,
hier ein Makro als bearbeitets Ergebnis einer Makroaufzeichnung, bei der die Spalte A in die Spalte C kopiert wird und anschließen die Kopie der Spalte B über die der Spalte C gelegt wird unter Beachtung, dass Leerzellen übersprungen werden (Injalte einfügen ....)

Sub Makro1()
Columns("A:A").Copy Range("C1")
Application.CutCopyMode = False
Columns("B:B").Copy
Range("C1").PasteSpecial Paste:=xlPasteAll, _
Operation:=xlNone, _
SkipBlanks:=True, _
Transpose:=False
Range("C1").Select
End Sub


Gruß!

Anzeige
AW: Spalten vergleichen
15.04.2007 09:58:46
Andreas
Hallo,
ich möchte mich bei Euch allen bedanken. Es klappt hervorragend.
Gruß
Andreas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige