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

Problem mit einer If Anweisung

Problem mit einer If Anweisung
06.12.2002 11:18:15
Fossi
Hallo,

ich hab da ein kleines Problem mit einer IF Anweisung.

In mehreren Datenblättern stehen immer in der gleichen Splate H Werte von 1 bis 10 drin. Nun möchte ich ein Makro schreiben, die mir immer dann, wenn der Wert kleiner 10 ist bestimmte Zellen dieser Zeile auf ein extra Blatt kopiert.
Als Beispiel ist der Wert in Zeile 16 Splate H < 10, jetzt soll die von Zeile 16 die spalte A,C,D und H in ein neues Blatt kopieren.

Ein problem ist das die Werte zwar immer in der gleichen Spalte stehen aber nicht immer die gleiche Anzahl an Werten vorliegt.

Hier is mal der klägliche Versuch:


For Each sh In ActiveWorkbook.Worksheets
If sh.Visible = True And sh.Name <> "deck" Then
If sh.Cells(40 + i, 6).Value < "10" Then
Sheets("deck").Cells(6 + i, 2).Value = sh.Cells(40 + i,1).Value
i = i + 1
End If
End If
Next


Hoff' Ihr könnt mir da weiter helfen.

Danke und Gruß
Fossi




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

Betreff
Datum
Anwender
Anzeige
Re: Problem mit einer If Anweisung
06.12.2002 11:33:55
BCM
Hi Fossi,
Du brauchst einen zweiten Zähler. Einen für die Schleife, die das Quellsheet durchlatscht und die Werte prüft, einen zweiten, der die beschriebenen Zeilen in "deck" zählt. Also etwa so:

i=0
For Each sh In ActiveWorkbook.Worksheets
If sh.Visible = True And sh.Name <> "deck" Then
j=0
Do Until sh.Cells(40 + j, 6).Value = ""
If sh.Cells(40 + j, 6).Value < "10" Then
Sheets("deck").Cells(6 + i, 2).Value = sh.Cells(40 + j,1).Value
i = i + 1
End If
j=j+1
Next
End If
Next

Jetzt mußt Du noch die benötigten Zellen herauskopieren. Da gibts verschiedene Möglichkeiten. Entweder eine kleine Schleife, die über ein Array die vier Werte ausliest und in deck kopiert, oder ganze Zeile kopieren und am Ende nicht benötigte Spalten löschen ......

cu
BCM

Anzeige
Re: Problem mit einer If Anweisung
06.12.2002 12:04:02
Franz
Hi BCM,

danke für die schnelle Antwort.
Ich hab das jetzt mal so ausprobiert, aber zunächst mal so, dass nur eine Zelle kopiert wird.

Achja und für das Next hab ich Loop eingesetzt da ich sonst beim kompilieren ein Fehler bekomm.

i=0
For Each sh In ActiveWorkbook.Worksheets
If sh.Visible = True And sh.Name <> "deck" Then
j=0
Do Until sh.Cells(40 + j, 6).Value = ""
If sh.Cells(40 + j, 6).Value < "10" Then
Sheets("deck").Cells(6 + i, 2).Value = sh.Cells(40 + j,1).Value
i = i + 1
End If
j=j+1
Loop
End If
Next

CU
Fossi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige