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

nochmal: Beträge in Spalte vergleichen -Makro?

nochmal: Beträge in Spalte vergleichen -Makro?
20.07.2005 08:31:14
Lucie
Guten Morgen,
ich hatte gestern folgendes Problem:
In einer Spalte, zB. A, stehen verschiedene Beträge, positive als auch negative, normalerweise gehört zu jedem positiven Betrag ein negativer. Die Spalte fasst nun an die tausend Beträge, von denen leider etliche nicht aufgehen.
Ich wollte mir auzeigen lassen, welche Beträge passen und welche nicht (Z.B. Ich lasse ein Makro durch die Spalte A laufen, bei jeder Übereinstimmung schreibt er eine lfd. Nr. in die Spalte J, jeweils für den positiven und den negativen Betrag die selbe Nr., stimmt ein Betrag nicht mit einem anderen überein, so kann die Zelle freigelassen werden)
Worti hatte mir nun folgendes Makro zur Verfügung gestellt:

Sub abgleich()
Dim c As Range
Dim I As Long, J As Long
Dim Suchwert
J = 1
For I = 1 To Cells(Rows.Count, 1).End(xlUp).Row - 1
Suchwert = Cells(I, 1).Value * -1
If IsEmpty(Cells(I, 2)) Then
Set c = Range("A" & I + 1 & ":A" & Cells(Rows.Count, 1).End(xlUp).Row).Find(What:=Suchwert, lookat:=xlWhole)
If Not (c Is Nothing) Then
Cells(I, 2).Value = J
Cells(c.Row, 2) = J
J = J + 1
End If
End If
Next I
End Sub

Im Beispiel funktioniert es auch, wenn ich das Makro nun aber auf meine Tabelle anpassen will, funktioniert es irgendwie nicht. Die Werte zum Abgleichen stehen in Spalte F und das Makro soll den Abgleich (die Nummerierung)in Spalte J durchführen.
Sorry, aber ich bekomme das nicht selbst hin. Bitte helft mir.
Danke
Gruß
Lucie

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nochmal: Beträge in Spalte vergleichen -Makro?
20.07.2005 08:45:52
Matthias
Hallo Lucie,
hier das Makro abgewandelt mit Konstanten für die Spalten. 1=A, B=2, usw. Das kannst du dann selbst anpassen.

Sub abgleich()
Const SuchSpalte = 1
Const ZielSpalte = 2
Dim c As Range
Dim I As Long, J As Long
Dim Suchwert
J = 1
For I = 1 To Cells(Rows.Count, SuchSpalte).End(xlUp).Row - 1
Suchwert = Cells(I, SuchSpalte).Value * -1
If IsEmpty(Cells(I, ZielSpalte)) Then
'Set c = Range("A" & I + 1 & ":A" & Cells(Rows.Count, 1).End(xlUp).Row).Find(What:=Suchwert, lookat:=xlWhole)
Set c = Range(Cells(I + 1, SuchSpalte), Cells(Rows.Count, SuchSpalte).End(xlUp)).Find(What:=Suchwert, lookat:=xlWhole)
If Not (c Is Nothing) Then
Cells(I, ZielSpalte).Value = J
Cells(c.Row, ZielSpalte) = J
J = J + 1
End If
End If
Next I
End Sub

Gruß Matthias
Anzeige
AW: nochmal: Beträge in Spalte vergleichen -Makro?
20.07.2005 09:25:36
Lucie
Hallo Matthias,
also das mit den Spalten funktioniert jetzt, leider läuft es aber immer noch nicht richtig.
Zum Einen, weil (auch mit dem anderen Makro schon) die Meldung kommt "Laufzeitfehler 13 - Typen unverträglich" und dann, weil nur die oberen Zeilen nummeriert werden, die eigentlich noch gar keine Beträge enthalten. Wie kann ich das so einstellen, dass es erst ab Zeile 9 mit der Nummerierung beginnt?
Vielen Dank
Lucie
AW: nochmal: Beträge in Spalte vergleichen -Makro?
20.07.2005 10:49:20
Matthias
Hallo Lucie,
dann statt For I=1 ...:
For I=9 ...
Gruß Matthias
Danke
21.07.2005 14:55:39
Lucie
Hallo Matthias,
danke, ich habs jetzt geschnallt und StartZeile = .. als Konstante definiert. Da das Makro im Allgemeinen aber etwas zu hoch für mich war und sowieso noch Verbesserungen gemacht werden müssen, hab ich mir dann auch mal ein Visual Basic Lehrbuch bestellt - ist ja kein Zustand.
Lucie
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige