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

nächste leere Spalten Zelle

nächste leere Spalten Zelle
10.02.2008 17:59:12
highman4
Hallo liebe Excelfreunde,
ich habe folgendes Problem.
Ich suche die letzte beschriebene Zelle in Spalte A
lastrow = Worksheets("Wasser").Range("a65536").End(xlUp).Row
das funktioniert prima.
Nun trage ich in die nächste leere Zeile also (lastrow + 1) Werte ein und muß danach die Differenzen innerhalb einer Spalte zum vorhergehenden Wert berechnen.
Nun kommt mein Problem:
Solange die nunmehr vorletzte Zeile "lastrow" durchgehend ausgefüllt ist, ist das kein Problem.
Was aber wenn z.B. in Spalte H zum nächste Wert noch 5 oder eine verschiedene Anzahl Leerzellen ist?
Hat jemand eine Idee wie ich einfach die nunmehr letzte ausgefüllte Zelle der Spalte H ermitteln kann?
Vielen Dank und viele Grüße
Marco

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

Betreff
Datum
Anwender
Anzeige
AW: nächste leere Spalten Zelle
10.02.2008 18:20:00
Gerd
Hallo Marco,
lastrowH = Worksheets("Wasser").Range("H65536").End(xlUp).Row
ermittelt die letzte gefüllte Zelle in Spalte H.
In welchem Kontext dies ermittelt u. eingesetzt werden soll, ist aus deinem Beitrag nicht ersichtlich.
Gruß Gerd

AW: nächste leere Spalten Zelle
10.02.2008 18:32:00
highman4
Hallo Gerd,
damit ermittle ich die letzte beschriebene Zelle in Spalte H.
Ich möchte aber die nächste beschriebene Zelle in Spalte H ermitteln.
Bsp.
lastrowH = Worksheets("Wasser").Range("H65536").End(xlUp).Row ergibt
lastrowH ist z.B. H35
Jetzt kommen aber eine Reihe Leer Zellen und dann z.B. ist H13 die nächste beschriebene Zelle in
Spalte H.
Ich muß die Differenz H35 - H13 ermitteln.
Wie kann ich nun ermitteln, daß wenn ich H35 kenne in der Spalte H die nächste ausgefüllte Zelle bei H13 ist?
Ich hoffe ich habe mich nun etwas klarer ausgedrückt.
Vielen Dank und viele Grüße
Marco

Anzeige
AW: nächste leere Spalten Zelle
10.02.2008 19:06:40
Gerd
Hallo Marco,
ungetestet in der Cells(Zeile,Spalte) - Schreibweise.
Sub Differenz_HLetzte_HVorletzte()
Dim DifferenzH as Currency
With Worksheets("Wasser")
DifferenzH= .Cells(rows.count,8).End(xlUp).Value - .Cells(.Cells(rows.count,8).End(xlUp).Row,8).Value
End With
Und wer weis wie man in den Editor kommt, muss beim VBA-Level nicht unbedingt "Nein" angeben :-)
Gruß Gerd

AW: nächste leere Spalten Zelle
10.02.2008 19:43:10
highman4
Hallo Gerd,
funktioniert leider nicht.
DifferenzH bleibt immer 0.
Trotzdem vielen Dank für Deine Hilfe.
Noch nen schönen Sonntag und viele Grüße
Marco

Anzeige
AW: nächste leere Spalten Zelle
10.02.2008 19:59:58
Erich
Hallo Marco,
versuchs mal mit lngH aus diesem Code:

Option Explicit
Sub atest()
Dim lngL As Long ' Zeile unter der letzten beschriebenen Zelle in Sp. A
Dim lngH As Long ' Zeile der letzten beschriebene Zelle in Sp. H oberhalb Zeile lngL
lngL = Worksheets("Wasser").Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(lngL, 8) = 30
lngH = IIf(IsEmpty(Cells(lngL - 1, 8)), _
Worksheets("Wasser").Cells(lngL, 8).End(xlUp).Row, lngL - 1)
If IsEmpty(Cells(lngH, 8)) Then
MsgBox "Kein Wert oberhalb von H" & lngL
Else
MsgBox Cells(lngL, 8) - Cells(lngH, 8)
End If
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: nächste leere Spalten Zelle
10.02.2008 20:05:47
Erich
Hallo Marco,
bei meinem vorigen Beitrag habe ich nicht berücksicht, wo das Ganze stattfindet (Blatt "Wasser").
Wenn das Blatt aktiv ist, kannst du dir "Worksheets("Wasser")." sparen,
wenn nicht, wäre eine With-Klammer praktisch.
Hier die beiden Versionen dazu:

Option Explicit
Sub WasserIstAktivesBlatt()
Dim lngL As Long ' Zeile unter der letzten beschriebenen Zelle in Sp. A
Dim lngH As Long ' Zeile der letzten beschriebene Zelle in Sp. H oberhalb Zeile lngL
lngL = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(lngL, 8) = 30
lngH = IIf(IsEmpty(Cells(lngL - 1, 8)), Cells(lngL, 8).End(xlUp).Row, lngL - 1)
If IsEmpty(Cells(lngH, 8)) Then
MsgBox "Kein Wert oberhalb von H" & lngL
Else
MsgBox Cells(lngL, 8) - Cells(lngH, 8)
End If
End Sub
Sub AnderesAktivesBlatt()
Dim lngL As Long ' Zeile unter der letzten beschriebenen Zelle in Sp. A
Dim lngH As Long ' Zeile der letzten beschriebene Zelle in Sp. H oberhalb Zeile lngL
With Worksheets("Wasser")
lngL = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lngL, 8) = 30
lngH = IIf(IsEmpty(.Cells(lngL - 1, 8)), _
.Cells(lngL, 8).End(xlUp).Row, lngL - 1)
If IsEmpty(.Cells(lngH, 8)) Then
MsgBox "Kein Wert oberhalb von H" & lngL
Else
MsgBox .Cells(lngL, 8) - .Cells(lngH, 8)
End If
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW:z.B.: mit einer Schleife
10.02.2008 19:59:00
Chris
Servus Marco,
die nächste beschriebene Zelle oberhalb, der letzte Zelle kannst du mit einer Schleife rückwärts ermitteln:
Dein bsp.:

Sub letzte_oberhalb()
Dim letzte As Long, letzteOberhalb as Long
Dim i as Integer
letzte = IIf(IsEmpty(Cells.Rows.Count, 8)),Cells(Rows.count,8).End(xlUp).Row,Rows.Count)
For i = letzte To 2 Step -1
If Cells(i, 8) = "" And Cells(i - 1 , 8)  "" Then
letzteOberhalb = Cells(i - 1, 8).Row
Exit For
End if
Next i
End Sub


Gruß
Chris

AW: AW:kleiner Schreibfehler
10.02.2008 20:11:14
Chris

Sub letzte_oberhalb()
Dim letzte As Long, letzteOberhalb As Long
Dim i As Integer
letzte = IIf(IsEmpty(Cells(Rows.Count, 8)), Cells(Rows.Count, 8).End(xlUp).Row, Rows.Count)
For i = letzte To 2 Step -1
If Cells(i, 8) = "" And Cells(i - 1, 8)  "" Then
letzteOberhalb = Cells(i - 1, 8).Row
Exit For
End If
Next i
MsgBox "Es gibt " & letzte - letzteOberhalb - 1 & " leere Zellen über der letzten beschriebenen  _
Zelle!"
End Sub


Gruß
Chris

Anzeige
AW: AW:kleiner Schreibfehler
10.02.2008 21:04:40
highman4
Lieber Chris, lieber Erich,
beide angebotenen Vorschläge funktionieren hervorragend.
Vielen vielen Dank für Eure beider Hilfe.
Schönen Rest Sonntag
wünscht Euch
Marco

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige