Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Erste und letzte Zelle finden

Erste und letzte Zelle finden
18.11.2008 09:38:00
Frank
Guten morgen,
ich möchte die Zellen finden indem für Start die 06:00 und für Ende die 14:00 steht.
Beispiel:
In der Zelle A100 steht 06:00
In der Zelle A1000 steht 14:00
Wenn die Startzelle und die Endzelle gefunden wurden, dann möchte ich den Zellenbezug in G übernehme und G100 bis G1000 summieren. Das Summenergebniss möchte ich in H 1000 anzeigen.
In der Spalte A befindet sich immer eine Uhrzeit, in der Spalte G befindet sich immer eine Zahl.
Vielen dank für Hilfe.
Gruß
Frank
Anzeige

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

Betreff
Datum
Anwender
Anzeige
mit summenprodukt()
18.11.2008 09:53:00
heikoS
Hallo Frank,
das sollte z.B. so gehen:
Tabelle2

 ABCDEFGHI
105:00:00     1Start06:00:00
206:00:00     2Ende12:00:00
307:00:00     5Ergebnis22
408:00:00     4  
509:00:00     1  
610:00:00     2  
711:00:00     5  
812:00:00     3  
913:00:00     2  
1014:00:00     1  

Formeln der Tabelle
ZelleFormel
I3=SUMMENPRODUKT(--(A1:A10>=I1); --(A1:A10<=I2); G1:G10)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Klappt´s?
Gruß Heiko
Anzeige
AW: Erste und letzte Zelle finden
18.11.2008 10:22:00
Frank
Hallo Heiko,
leider klappt es so nicht.
Ich muß nach der Zelle suchen wo sich z.B. Startzeit befindet. Es ist nur durch Zufall A100.
Die Endzelle (14:00) kann sich auch in A3154 befinden.
Dazu benötige ich ein Makro was ich in meinem Makro einbinde.
Dank dir auch wen es so nicht funktioniert.
Gruß
Frank
Anzeige
AW: Erste und letzte Zelle finden
18.11.2008 10:35:00
Frank
Entschuldige Heiko,
aber da habe ich etwas übersehen.
Ich werde es mal in mein Makro eintragen.
Denke das es so funktioniert.
Melde mich noch einmal.
Gruß
Frank
AW: Erste und letzte Zelle finden
18.11.2008 10:43:57
Chris
Servus Frank,
als Makro:
Sub t() Dim i As Long, lngLetzte As Long, lngAnfang As Long, lngEnde As Long Dim dbSumme As Double lngLetzte = Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To lngLetzte If Cells(i, 1) = 6 / 24 Then lngAnfang = Cells(i, 1).Row If Cells(i, 1) = 14 / 24 Then lngEnde = Cells(i, 1).Row: Exit For Next i If lngAnfang 0 And lngEnde 0 Then dbSumme = Application.WorksheetFunction.Sum(Range("G" & lngAnfang & ":G" & lngEnde)) End If MsgBox dbSumme End Sub


Gruß
Chris

Anzeige
AW: Erste und letzte Zelle finden
18.11.2008 12:08:31
Frank
Hallo Chris,
Aus irgendeinem Grund funktioniert es nicht.
Angezeigt wird:
dbSumme = 0 (ist falsch)
lngLetzte = 2936 (ist richtig)
lngAnfang = 0 (ist falsch)
lngEnde = 0 (ist falsch)
06:00:12 befindet sich in A103.
Die Sekunden interessieren mich dabei nicht.
Dim i As Long, lngLetzte As Long, lngAnfang As Long, lngEnde As Long
Dim dbSumme As Double
lngLetzte = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lngLetzte
If Cells(i, 1) = 6 / 24 Then lngAnfang = Cells(i, 1).Row
If Cells(i, 1) = 14 / 24 Then lngEnde = Cells(i, 1).Row: Exit For
Next i
If lngAnfang 0 And lngEnde 0 Then
dbSumme = Application.WorksheetFunction.Sum(Range("G" & lngAnfang & ":G" & lngEnde))
End If
Rem MsgBox dbSumme
Range("J4").Value = dbSumme
Range("J5").Value = lngLetzte
Range("J6").Value = lngAnfang
Range("J7").Value = lngEnde
Gruß
Frank
Anzeige
AW: versuch mal dies
18.11.2008 14:34:00
Chris
Servus,
dann so:

Sub t()
Dim i As Long, lngLetzte As Long, lngAnfang As Long, lngEnde As Long
Dim dbSumme As Double, merkAnfang As Long, merkEnde As Long
Dim rSuche As Range, rFinde As Range, strErste As String
lngLetzte = Cells(Rows.Count, 1).End(xlUp).Row
Set rFinde = Range("A1:A" & lngLetzte)
Set rSuche = rFinde.Find(what:="06:00:*", lookAt:=xlPart, LookIn:=xlValues)
If Not rSuche Is Nothing Then
strErste = rSuche.Address
merkAnfang = rSuche.Row
Do
lngAnfang = rSuche.Row
If lngAnfang > merkAnfang Then
lngAnfang = merkAnfang
End If
Set rSuche = rFinde.FindNext(rSuche)
Loop While Not rSuche Is Nothing And rSuche.Address  strErste
End If
Set rSuche = rFinde.Find(what:="14:00:*", lookAt:=xlPart, LookIn:=xlValues)
If Not rSuche Is Nothing Then
strErste = rSuche.Address
merkEnde = rSuche.Row
MsgBox merkEnde
Do
lngEnde = rSuche.Row
If lngEnde > merkEnde Then
lngEnde = merkEnde
End If
Set rSuche = rFinde.FindNext(rSuche)
Loop While Not rSuche Is Nothing And rSuche.Address  strErste
End If
If lngAnfang  0 And lngEnde  0 Then
dbSumme = Application.WorksheetFunction.Sum(Range("G" & lngAnfang & ":G" & lngEnde))
End If
MsgBox dbSumme
End Sub


Bei der Schleife wurde genau 06:00:00 und 14:00:00 gesucht, wenn die nicht da sind, dann macht er auch keine Summe.
Gruß
Chris

Anzeige
AW: Nachtrag
18.11.2008 14:49:00
Chris
servus,
und falls dich die Minuten auch nicht kratzen, dann so:

Sub t()
Dim i As Long, lngLetzte As Long, lngAnfang As Long, lngEnde As Long
Dim dbSumme As Double, merkAnfang As Long, merkEnde As Long
Dim rSuche As Range, rFinde As Range, strErste As String
lngLetzte = Cells(Rows.Count, 1).End(xlUp).Row
Set rFinde = Range("A1:A" & lngLetzte)
Set rSuche = rFinde.Find(what:="06:*", lookAt:=xlPart, LookIn:=xlValues)
If Not rSuche Is Nothing Then
strErste = rSuche.Address
merkAnfang = rSuche.Row
Do
lngAnfang = rSuche.Row
If lngAnfang > merkAnfang Then
lngAnfang = merkAnfang
End If
Set rSuche = rFinde.FindNext(rSuche)
Loop While Not rSuche Is Nothing And rSuche.Address  strErste
Else
MsgBox "Es gibt keine Uhrzeit beginnend mit ""06:..."" !", vbExclamation, "Abbruch"
Exit Sub
End If
Set rSuche = rFinde.Find(what:="14:*", lookAt:=xlPart, LookIn:=xlValues)
If Not rSuche Is Nothing Then
strErste = rSuche.Address
merkEnde = rSuche.Row
Do
lngEnde = rSuche.Row
If lngEnde > merkEnde Then
lngEnde = merkEnde
End If
Set rSuche = rFinde.FindNext(rSuche)
Loop While Not rSuche Is Nothing And rSuche.Address  strErste
Else
MsgBox "Es gibt keine Uhrzeit beginnend mit ""14:..."" !", vbExclamation, "Abbruch"
Exit Sub
End If
If lngAnfang  0 And lngEnde  0 Then
dbSumme = Application.WorksheetFunction.Sum(Range("G" & lngAnfang & ":G" & lngEnde))
End If
MsgBox dbSumme
End Sub


außerdem ist eine Fehlerbehandlung dabei, wenn die Uhrzeit garnicht auftritt.
Gruß
Chris

Anzeige
AW: versuch mal dies
18.11.2008 15:13:44
Frank
Hallo Hary,
das funktioniert leider nicht. Wie ich gerade gerlernt habe, wird nur die glatte Stundenzeit verglichen.
Wenn die Zeit jedoch z.B. 06:12:30 ist, dann wird der Vergleich nie mit wahr bewertet.
Gruß
Frank
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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