Hallo,
ich moechte gerne folgende Aufgabenstellung von Excel automatisch erledigen lassen:
Ein Datenblatt enthaelt mehrere Spalten. Zwei dieser Spalten, Spalte A und Spalte B, enthalten nur Zahlen. Ich moechte nun in jeder Reihe dieser Spalten den Wert von A mit dem von B vergleichen. Wenn der Wert von A kleiner als der von B ist, dann soll in eine neue Spalte der Wert 0 geschrieben werden. Falls dagegen A groesser als B ist, dann soll in die neue Spalte der Wert -1 geschrieben werden. In genaue diesem Fall sollen dann auch noch A und B ausgetauscht werden.
Beispiel:
Spalte A: 100 350
Spalte B: 150 250
Resultat:
Spalte A: 100 250
Spalte B: 150 350
Spalte C: 0 -1
Ich denke, dass das mit einem Makro moeglich ist, aber leider kenne ich mich damit nicht aus. Vielleicht weiss jemand von Euch Rat.
Vielen Dank!
Marcus
Ein Datenblatt enthaelt mehrere Spalten. Zwei dieser Spalten,
Spalte A und Spalte B, enthalten nur Zahlen. Ich moechte nun
in jeder Reihe dieser Spalten den Wert von A mit dem von B
vergleichen. Wenn der Wert von A kleiner als der von B ist,
dann soll in eine neue Spalte der Wert 0 geschrieben werden.
Falls dagegen A groesser als B ist, dann soll in die neue
Spalte der Wert -1 geschrieben werden. In genaue diesem Fall
sollen dann auch noch A und B ausgetauscht werden.
Hi Marcus,
was ist wenn Ax=Bx ist?
Gruß
Reinhard
Hallo Reinhard,
was ist wenn Ax=Bx ist?
Ax und Bx sind immer unterschiedlich. Die Spalten enthalten die Startpunkte (A) und Endpunkte (B) einer DNA Sequenz.
Hilft das?
Viele Gruesse,
Marcus
Gruß
Reinhard
Ax und Bx sind immer unterschiedlich. Die Spalten enthalten
die Startpunkte (A) und Endpunkte (B) einer DNA Sequenz.
Hi Marcus,
ja das hilft und ist ausreichend um das zu lösen.
Allerdings habe ich grad Kopfaua, und befürchte morgen Abend schon wieder, bzw danach, aber Aschermittwoch ist alles vorbei, dann schaue ich mir das nochmal nüchtern an 
Gruß
Reinhard
Hallo Reinhard!
Allerdings habe ich grad Kopfaua, und befürchte morgen Abend
schon wieder, bzw danach, aber Aschermittwoch ist alles
kein Kommentar! *gg*
vorbei, dann schaue ich mir das nochmal nüchtern an 
Danke schoen! Ich habe selber schon ein wenig rumgetueftelt, aber leider bin ich nicht sehr weit gekommen.
Viele Gruesse,
Marcus
Hallo Marcus,
probier’s mal damit:
Sub Vergleich()
Dim intZeilenindex As Integer
Dim varMem As Variant
For intZeilenindex = 2 To 1000
If Cells(intZeilenindex, 2) > Cells(intZeilenindex, 1) Then
Cells(intZeilenindex, 3) = 0
ElseIf Cells(intZeilenindex, 2)
Ein Datenblatt enthaelt mehrere Spalten. Zwei dieser Spalten,
Spalte A und Spalte B, enthalten nur Zahlen. Ich moechte nun
in jeder Reihe dieser Spalten den Wert von A mit dem von B
vergleichen. Wenn der Wert von A kleiner als der von B ist,
dann soll in eine neue Spalte der Wert 0 geschrieben werden.
Falls dagegen A groesser als B ist, dann soll in die neue
Spalte der Wert -1 geschrieben werden. In genaue diesem Fall
sollen dann auch noch A und B ausgetauscht werden.
Hi Marcus,
Option Explicit
Sub tt()
Dim zei As Long, merker
For zei = 1 To Range("A65536").End(xlUp).Row
Cells(zei, 3) = (Cells(zei, 1) \> Cells(zei, 2)) \* 1
If Cells(zei, 3) = -1 Then
merker = Cells(zei, 1)
Cells(zei, 1) = Cells(zei, 2)
Cells(zei, 2) = merker
End If
Next zei
End Sub
Gruß
Reinhard
Danke @ Reinhard und Martin
Hallo Reinhard, hallo Martin,
vielen Dank fuer Eure Hilfe! Wie lernt man denn sowas?? Koennt Ihr mir gute Webseiten oder Buecher fuer VisualBasic / Makro’s empfehlen?
Viele Gruesse,
Marcus
Hallo Marcus,
es gibt viele gute Bücher für die Programmierung in Excel. Und was auch sehr viel hilft beim Lernen: Makros aufzeichnen und dann damit experimentieren.
Ansonsten: üben, üben, üben (ich mach’ das schon seit 15 Jahren).
Martin