Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema RefEdit
BildScreenshot zu RefEdit RefEdit-Seite mit Beispielarbeitsmappe aufrufen

1. freie Zelle in nicht zusammenhängenden Bereich


Betrifft: 1. freie Zelle in nicht zusammenhängenden Bereich
von: Kerstin
Geschrieben am: 23.09.2019 09:12:29

Hallöchen!

Ich möchte die erste freie Zelle im nicht zusammenhängendem Bereich in Spalte A im Bereich A6:A37, A40:A73 und A76:A109 finden.
Im Netz habe ich bisher nur Antworten für einen zusammenhängenden Bereich gefunden oder Codes, die nicht funktionieren.Ihr könnt bestimmt helfen.

Range("A6:A37", Range("A40:A73", Range("a65536").End(xlUp))).Select klappt nicht

Dim Bereich As Range

Set Bereich = Application.Union(Range("A5:A37"), Range("A40:A73")) klappt auch nicht
Bereich.End(xlDown).Offset(1, 0).Select

Schon mal vielen Dank im voraus!

LG Kerstin

  

Betrifft: AW: 1. freie Zelle in nicht zusammenhängenden Bereich
von: Matthias L
Geschrieben am: 23.09.2019 09:36:53

Hallo

Beispiel

Sub Kerstin()
Dim Bereich As Range
Set Bereich = Application.Union(Range("A5:A37"), Range("A40:A73"))
Bereich(36).Select 'markiert die 36.Zelle des Bereichs also A40
End Sub
Du kannst auch eine Schleife starten und die Zellen soweit durchlaufen bis Du eine leere Zelle gefunden hast. Hast Du eine leere Zelle gefunden staigst Du aus der Schleife mit Exit Sub aus.

Gruß Matthias


  

Betrifft: AW: 1. freie Zelle in nicht zusammenhängenden Bereich
von: Kerstin
Geschrieben am: 23.09.2019 09:47:45

Hallo Matthias!

Danke für Deine Antwort, aber so meine ich das nicht...
Ich brauche die erste freie Zelle in den Unzusammenhängenden Bereichen. In meinem Fall steht in den Zellen A39 und A40 Text ebenso in den Zellen A74 und A75. Deshalb soll nur im Bereich A6 bis A37 UND im Bereich A40 bis A73 UND im Bereich A76 bis A109 gesucht werden.
Die Tabelle wird sich Laufe der Zeit in der Spalte A6 bis A37 usw füllen...

LG Kerstin


  

Betrifft: AW: 1. freie Zelle in nicht zusammenhängenden Bereich
von: hary
Geschrieben am: 23.09.2019 09:56:46

Moin
Einen hab ich auch noch. Hatte ich schon fertig.

Dim Bereich As Range
Set Bereich = Union(Range("A6:A37"), Range("A40:A73"), Range("A76:A109"))
 If Application.CountA(Bereich) = Bereich.Cells.Count Then Exit Sub
   MsgBox Bereich.SpecialCells(xlCellTypeBlanks).Cells(1).Address

gruss hary


  

Betrifft: als Schleife ...
von: Matthias L
Geschrieben am: 23.09.2019 09:46:10

Hallo

Sub Kerstin2()
Dim Bereich As Range, RnG As Range
Set Bereich = Application.Union(Range("A5:A37"), Range("A40:A73"))
For Each RnG In Bereich
 If RnG = "" Then
    RnG.Select
    Exit For 'oder Exit Sub
 End If
Next
End Sub
Gruß Matthias


  

Betrifft: AW: als Schleife ...
von: Kerstin
Geschrieben am: 23.09.2019 09:52:35

Hallo Matthias!

Da war ich wohl zu schnell!!!! Mit der Schleife klappt es prima!!!!
Dankeeeeee!

Gruß Kerstin


  

Betrifft: Gerne ;-)
von: Matthias L
Geschrieben am: 23.09.2019 09:53:39