Makro erstellen in Excel

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 :smile:
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 :smile:

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