Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

In VBA: cells(An:Hn)

Forumthread: In VBA: cells(An:Hn)

In VBA: cells(An:Hn)
03.04.2006 12:12:24
Fab
Hallo zusammen,
ich möchte in einer Schleife einen Bereich selektieren, der dann mit jedem neuen durchlauf eine Zeile weiter geht.
dim n as integer
dim i as integer
for n = 1 to 20
for i = 1 to 20
if sheets("Daten").cells(n,1) = sheets("Stadien").Range(A3) then
Cells(1i:8i).select
...
end if
das .Range(A3) sollte eigentlich auch eher Range(A3-A20) lauten
was mache ich falsch?
(VBA Anfänger, bisher nur mittels diesen Forums und google :P)
Hoffe auf Hilfe :)
Gruß
fab
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In VBA: cells(An:Hn)
03.04.2006 12:52:00
Sylvio
Hallo Fab,
du haust da ein bisschen was durcheinander mit Cells und Range
i= 1
j= 1
um ein Range aus Cells zu schreiben musst du Range(Cells(i,j),Cells(i+20,j)) zum Beispiel definieren.
Gruß Sylvio
AW: In VBA: cells(An:Hn)
03.04.2006 13:56:58
Jan3
Hi,
Verändre Deinen Code bei der If-Then-Anweisung ab!

Sub schleife()
Dim n As Integer
Dim i As Integer
For n = 1 To 20
For i = 1 To 20
If Sheets("Daten").Cells(n, 1) = Sheets("Stadien").Cells(i, 1) Then
'Dein Code, wenn die Bedingung erfüllt ist!
End If
Next i
Next n
End Sub

Jan
Anzeige
AW: In VBA: cells(An:Hn)
03.04.2006 14:30:43
Fab
Hmm, ich mach da wohl ne ganze Menge falsch...

Sub Prozente()
dim n as integer
dim i as integer
const x as integer
const y as integer
x=1
y=1
for n = 9 to 30
for i = 3 to 26
if sheets("daten").cells(n,1) = Sheets("Stadien").range(cells(i,1) then
range(cells(n,2),cells(n,7).select
selection.style = "percent"
else
selection.style = "comma"
end if
next n
next i
End Sub

wo baue ich da jetzt x,y ein?
Zu verändernde Zahlen sind in B9 bis H9 (und dann runter bis B30-H30)
Zu überprüfender Wert ist in A9-A30 auf "Daten"
Die Prozentzahlen stehen im Bereich A20-A26
Bin verwirrt, aber dankbar für jede Hilfe... vielleicht bin ich etwas zu schnell für mein Können...
Anzeige
AW: In VBA: cells(An:Hn)
03.04.2006 14:55:21
Sylvio
Hallo Fab,
du brauchst doch die Variablen gar nicht als weg damit:
const x as integer
const y as integer
x=1
y=1
Die schaffen nur Verwirrung :-). Hier muss ein Nest von Verwirrung sein. *g*
Gruß Sylvio
AW: In VBA: cells(An:Hn)
03.04.2006 15:06:56
Fab
Ich hab die jetzt raus geschmissen, komme aber trotzdem nicht weiter.
In der Zeile mit dem if wird mir ein Anwendungs oder obejekt definierter fehler angezeigt...
Gruß
Anzeige
AW: In VBA: cells(An:Hn)
03.04.2006 15:17:22
Sylvio
Hallo Fab,
du solltest ihm genau sagen wo sich die Zellen und Ranges befinden (PC= doof) :-)

Sub Prozente()
Dim n As Integer
Dim i As Integer
For n = 9 To 30
For i = 3 To 26
If ThisWorkbook.Sheets("daten").Cells(n, 1).Value = _
ThisWorkbook.Sheets("Stadien").Cells(i, 1) Then
ThisWorkbook.Sheets("daten").Select
Range(Cells(n, 1), Cells(n, 7)).Select
Selection.Style = "percent"
Else
Selection.Style = "comma"
End If
Next
Next
End Sub

Gruß Sylvio
Anzeige
AW: In VBA: cells(An:Hn)
03.04.2006 15:49:59
Fab
Das klappt, danke :)
jetzt gibt es aber noch ein weiteres Problem...das Makro durchläuft nun alle Zeilen und bleibt bei der letzten stehen. Kann man irgendeine Prozedur einbauen, mit der gestoppt wird, sobald eine Zeile leer ist oder mit der man an den Anfang des Sheets zurückspringen kann?
Danke für Deine Hilfe :)
Anzeige
AW: In VBA: cells(An:Hn)
03.04.2006 15:55:06
Sylvio
Klar geht alles: (PC = bleibt trotzdem doof) :-)

Sub Prozente()
Dim n As Integer
Dim i As Integer
For n = 9 To 30
For i = 3 To 26
If ThisWorkbook.Sheets("Daten").Cells(n, 1).Value = "" Then
ThisWorkbook.Sheets("Daten").Cells(1, 1).Select
Exit Sub
End If
If ThisWorkbook.Sheets("daten").Cells(n, 1).Value = _
ThisWorkbook.Sheets("Stadien").Cells(i, 1) Then
ThisWorkbook.Sheets("daten").Select
Range(Cells(n, 1), Cells(n, 7)).Select
Selection.Style = "percent"
Else
Selection.Style = "comma"
End If
Next
Next
End Sub

Gruß Sylvio
Anzeige
AW: In VBA: cells(An:Hn)
03.04.2006 16:11:19
Fab
Hey Sylvio,
hatte das zwischenzeitlich manuell gelöst ;)
PC bleibt zwar doof, lässt sich aber stets überraschen.
Ich hab mir einfach die Scroll-Up methode aufzeichnen lassen und das Makro genommen ;-)
bei kleinen Daten geht das ohne Proleme, sollte ich mal mehr Zeilen haben, benutze ich deine Methode.
Vielen Danke für alles
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige