Anzeige
Archiv - Navigation
1120to1124
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

Leere Zelle in Bereichen suchen.

Leere Zelle in Bereichen suchen.
Hans
Hallo Leute,
ich habe ein Problem und bekomme es in VBA nicht gelöst.
Es stellt sich folgende Problemstellung :
Ich habe drei Bereich .. jeweils über nur eine Spalte.
Bereich 1 heisst "Wert1" und ist in Spalte A
Bereich 2 heisst "Wert2" und ist in Spalte B
Bereich 3 heisst "Wert3" und ist in Spalte C
sie sind jeweils unterschiedlich groß.
Nun will ich im Bereich "Wert1" die erste leere Zelle finden.
Wenn sie vorhanden ist soll dort was reingeschrieben werden.
Ist keine im Bereich Wert1 frei soll in Wert2 u.s.w. gesucht werden.
Kann mir da jemand bei helfen?
lg
Hans

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Leere Zelle in Bereichen suchen.
11.12.2009 20:05:19
Tino
Hallo,
kannst ja mal testen.
Function FindLeer(ByVal rngBereich As Range) As Range
    Set FindLeer = rngBereich.Find(What:="", After:=rngBereich(rngBereich.Rows.Count, rngBereich.Columns.Count), _
    LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
End Function

Sub TestFindLeerZelle()
Dim NextLeere As Range

Set NextLeere = FindLeer(Range("Wert1"))

If NextLeere Is Nothing Then _
Set NextLeere = FindLeer(Range("Wert2"))

If NextLeere Is Nothing Then _
Set NextLeere = FindLeer(Range("Wert3"))

If Not NextLeere Is Nothing Then
 MsgBox "nächste leere gefunden in " & NextLeere.Address
Else
 MsgBox "keine leere Zelle gefunden", vbCritical
End If

End Sub
Gruß Tino
Anzeige
AW: Leere Zelle in Bereichen suchen.
11.12.2009 20:11:02
Daniel
Hi
probier mal das hier:
Sub test()
Dim rng As Range
Dim i As Long
Dim ErsteLeereZelle As Range
For i = 1 To 3
On Error Resume Next
Set rng = Range("Wert" & i).SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not rng Is Nothing Then
Set ErsteLeereZelle = rng(1)
Exit For
End If
Next
If i 

gruß, Daniel
etwas kürzer
11.12.2009 20:13:58
Daniel

Sub test()
Dim ErsteLeereZelle As Range
Set ErsteLeereZelle = Union(Range("wert1"), Range("wert2"), Range("Wert3")).SpecialCells( _
xlCellTypeBlanks)(1)
If ErsteLeereZelle Is Nothing Then
MsgBox "keine Leerzellen gefunden"
Else
ErsteLeereZelle.Value = "Dein Text"
End If
End Sub

funktioniert aber nur dann zuverlässig, wenn die Bereiche Wert1-Wert3 spaltenmässig in Reihenfolge nebeneinander liegen.
sonst kann nicht zuverlässig bestimmt werden, aus welchem Bereich die leere Zelle stammt, falls es in mehreren Bereichen eine leere Zelle gibt.
Gruß, Daniel
Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige