Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1620to1624
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
Inhaltsverzeichnis

Bereich defniieren für Schleife

Bereich defniieren für Schleife
18.04.2018 07:24:45
Lutz
Hallo,
ich möchte durch einen bestimmten Bereich eine "Schleife" durchlaufen lassen.
Das sieht dann z.B. so aus:
Sub test()
For i = 17 To 26 Step 1
If Range("N" & i)  0 Then
'Anweisung'
Else
End If
Next
End Sub
Nun ist der Bereich aber fest hinterlegt: er geht von N17 bis N26.
Wenn ich nun in der Tabelle Zeilen/Spalten einfüge, müsste ich den Code anpassen.
Daher möchte ich dem Bereich einen Namen geben und diesen dann verweden.
Aber wie mache ich das?
Vielen Dank für eure Hilfe.

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

Betreff
Datum
Anwender
Anzeige
AW: Bereich defniieren für Schleife
18.04.2018 07:51:25
RPP63
Moin!
Ohne prinzipiell die Schleife zu hinterfragen (da ich die "Anweisung" ja nicht kenne):
Den Namen vergibst Du mittels Namensmanager.
Die Schleife mutiert dann zu einem For-Next-Konstrukt.
Dim Zelle As Range
For Each Zelle In Range("DeinName")
If Zelle  0 Then …
Next
Gruß Ralf
AW: Bereich defniieren für Schleife
18.04.2018 08:10:51
Lutz
Ok, super, das klappt.
Kann ich jetzt aus dem range("DeinName") auch die Anfangs-Zelle-Spalte und End-Zelle-Spalte einzeln auslesen, wenn ich die Zellen im weiteren Verlauf einzeln ansprechen will?
Also Anfangsspalte = N, Anfangszeile = 3, Endspalte = N, Endzeile = 20
Gruß Lutz
Anzeige
AW: Bereich defniieren für Schleife
18.04.2018 08:36:42
RPP63
Sub RPP()
With Tabelle1.Range("DeinName")
  Debug.Print .Cells(1).Row
  Debug.Print .Cells(1).Column
  Debug.Print .Cells(.Cells.Count).Row
  Debug.Print .Cells(.Cells.Count).Column
End With
End Sub

Anzeige
AW: Bereich defniieren für Schleife
18.04.2018 08:52:39
Lutz
Ich bräuchte es eher so:
Sub test3()
Dim VAR1 As String
VAR1 = Range("area_addon03").Cells(1).Row
Dim VAR2 As String
VAR2 = Range("area_addon03").Cells(1).Column
Dim VAR3 As String
VAR3 = Range("area_addon03").Cells(.Cells.Count).Row
Dim VAR4 As String
VAR4 = Range("area_addon03").Cells(.Cells.Count).Column
Debug.Print VAR1
Debug.Print VAR2
Debug.Print VAR3
Debug.Print VAR4
End Sub
Allerdings kommt dann bei VAR3 die Meldung "unzulässiger Verweis".
Was mache ich falsch bzw. wie kann ich das lösen?
Danke.
Gruß Lutz
Wo ist die With-Klammer?
18.04.2018 08:58:54
RPP63
Außerdem:
Seit wann ist eine Zahl ein String?
Ich sehe Deinen VBA-Level, aber aufpassen musst Du trotzdem!
Gruß Ralf
Anzeige
AW: Wo ist die With-Klammer?
18.04.2018 09:05:13
Lutz
Ich wills ja gerade ohne with machen - geht das nicht?
AW: Wo ist die With-Klammer?
18.04.2018 09:08:18
Lutz
Ok, so geht es:
Sub RPP()
Dim VAR1 As Long
Dim VAR2 As Long
Dim VAR3 As Long
Dim VAR4 As Long
With Range("area_addon03")
VAR1 = .Cells(1).Row
VAR2 = .Cells(1).Column
VAR3 = .Cells(.Cells.Count).Row
VAR4 = .Cells(.Cells.Count).Column
End With
Debug.Print VAR1
Debug.Print VAR2
Debug.Print VAR3
Debug.Print VAR4
End Sub
Aber geht es nicht ohne with?
Letzte Antwort von mir
18.04.2018 09:09:29
mir
Nimm es mir nicht übel, aber ich habe keine Zeit, hier Basics zu vermitteln.
Aber letztmalig beantworte ich Dir Deine Frage.
Es braucht zwar keine With-Klammer, aber sie erleichtert einiges.
Du kannst natürlich auch folgendes schreiben:
Tabelle1.Range("DeinName").Cells(Tabelle1.Range("DeinName").Cells.Count).Row

Anzeige
Gut!
18.04.2018 09:10:32
RPP63
Fein, dass Du meinem Rat gefolgt bist!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige