Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
708to712
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
708to712
708to712
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Spaltenvergleich

VBA Spaltenvergleich
13.12.2005 21:15:35
Sebastian
Hi nochmal...
..das Makro von peterchen funktioniert bestens. Allerdings nicht ganz nach meinen Bedürfnissen, habe selber schon versucht es zu modifizieren, bin allerdings nur gescheitert.
Hier erstmal der code von Peterchen:

Sub gleiche_spalten( _
ByRef sp1 As Range, _
ByRef sp2 As Range, _
ByRef spz As Range _
)
Dim zelle1 As Range
Dim zelle2 As Range
Dim ziel_zeile As Long
ziel_zeile = spz.Row
For Each zelle1 In sp1.Cells
If zelle1.Value = "" Then Exit For
For Each zelle2 In sp2.Cells
If zelle2.Value = "" Then Exit For
If zelle1.Value = zelle2.Value Then
spz.Parent.Cells(ziel_zeile, spz.Column).Value = zelle1.Value
ziel_zeile = ziel_zeile + 1
End If
Next
Next
End Sub


Sub test()
Dim sp1 As Range
Dim sp2 As Range
Dim spz As Range
Set sp1 = GetRange("Quelle 1", "Tabelle1", "A")
If sp1 Is Nothing Then Exit Sub
Set sp2 = GetRange("Quelle 2", "Tabelle2", "A")
If sp2 Is Nothing Then Exit Sub
Set spz = GetRange("Ziel", "Tabelle3", "A")
If spz Is Nothing Then Exit Sub
Call gleiche_spalten(sp1, sp2, spz)
End Sub


Function GetRange( _
ByVal titel As String, _
Optional ByVal tabelle As String = "", _
Optional ByVal spalte As String = "" _
) As Range
On Error Resume Next
Do
tabelle = InputBox(titel & " Tabelle:", titel, tabelle)
If tabelle <> "" Then _
spalte = InputBox(titel & "Spalte 1", titel, spalte)
If tabelle = "" Or spalte = "" Then
Set GetRange = Nothing
Exit Function
End If
Set GetRange = Worksheets(tabelle).Columns(spalte)
If Err.Number = 0 Then Exit Do
MsgBox "Fehler bei der Eingabe, bitte wiederholen."
Err.Clear
Loop
End Function

Da meine Werte in der Tabelle nicht beispielsweise bei A1 anfangen und meistens noch etwas darüber steht oder Leerzeilen vorhanden sind, wirkt das eigentliche Makro nicht mehr!
Gibt es irgendeine Möglichkeit, einen bestimmten Punkt der Spalte z.B. A5 einzugeben?
Und 2. wie kann man das Problem mit den Leerzeilen angehen, das trotz Leerzeile das Makro nicht auffhört zu vergleichen? Ist so etwas möglich?
Zum Schluss noch, der Vergleich sollte die Werte wie folgt einordnen: eine Spalte = nicht in Tabelle A, eine Spalte nicht in Tabelle B und die Letzte Spalte = in Beiden Tabellen!
Ich weis das ist ne Menge Arbeit, aber ich wäre echt über jede Hilfe dankbar!!
Dankeschön
Sebastian

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Spaltenvergleich
14.12.2005 08:54:27
Hajo_Zi
Hallo Sebastian,
ich habe mir mal Deinen Beitrag angesehen aber schon beim ersten Punkt habe ich aufgehört.
"Da meine Werte in der Tabelle nicht beispielsweise bei A1 anfangen und meistens noch etwas darüber steht"
Ich habe noch keine Excelversion gehabt bei der noch was vor A1 steht. Vielleicht solltest Du mal Deine Version angeben und sagen wo man die runterladen kann. In Version 2000 habe ich auch keine Zelllen vor A1.


AW: VBA Spaltenvergleich
14.12.2005 09:08:31
Sebastian
Hi,
sorry wenn ich mich irgendwie falsch ausgedrückt habe.
Zur Version, ich benutze Excel 2000.
Was ich bei Punkt 1 Meinte ist: das die Werte die ich auslesen will nicht in der Zelle A1 beginnen, sondern sich dort entweder eine leere Zelle befindet oder eine Überschrift für die Werte dieser Spalte, und eventuell danach noch 1 leere Zelle. Ich wollte wissen ob es eine Möglichkeit gibt diesem Makro zu sagen, das es erst die Spalte A ab Zelle z.B. A3 ausliest um die Werte zu vergleichen.
Hoffe ich habe mich diesmal verständlicher Ausgedrückt. Bedauere natürlich, das ich mich anfangs etwas unglücklich ausgedrückt habe.
Habe mir auch nochmal die anderen Punkte durchgelesen, und finde sie verständlich, falls trotzdem noch irgendetwas nicht stimmen sollte, bitte einfach posten!
Dankeschön
Sebastian
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige