Herbers Excel-Forum - das Archiv

Zähler anhalten (die 2te)

Bild

Betrifft: Zähler anhalten (die 2te)
von: Heinz Nolle
Geschrieben am: 29.09.2003 14:32:50
Hallo,

(wieder das Hochladen vergessen :( )
die Probleme mit den Tabellen hören nicht auf. Folgendes Problem (siehe Bsp-Tabelle): Ab einer bestimmten IP-Adresse soll das Zählen der 'Sessions' beginnen, aber bei einer folgenden anderen IP-Adresse soll es stoppen; und falls nochmal die selbe bestimmte IP-Adresse kommt, irgendwo in der Tabelle, soll das Zählen weitergehen. Und so die ganze Tabelle durch.
Den Start des Zählens bekomme ich hin, aber ich weiß nicht wie ich es programmieren soll, daß bei einer anderen IP-Adresse das Zählen angehalten wird; jetzt wird einfach stur durchgezählt bis zum Ende.
Hat vielleicht jemand einen Tip? Danke.

Beispielsdatei:

Die Datei https://www.herber.de/bbs/user/1205.xls wurde aus Datenschutzgründen gelöscht


Heinz

Quelltext:

Private Sub Sitzungen_Click()
Dim Zelle As Range
Dim Zelle2 As Range
Dim BisZeile As Long
Dim lZeile As Long
Dim zPhysic As Integer
Dim zProxy As Integer
Dim zDialup As Integer
zPhysic = 0: zProxy = 0: lZeile = 0
BisZeile = ActiveSheet.UsedRange.Rows.Count
For Each Zelle In Range(Cells(1, 1), Cells(BisZeile, 1))
lZeile = lZeile + 1
If (Mid(Zelle, 13, 9) = "160.45.32") Or (Mid(Zelle, 13, 10) = "130.133.32") Then
zPhysic = zPhysic + 1
End If
If (Right(Zelle, 11) = "160.45.10.9") Then
For Each Zelle2 In Range(Cells(lZeile, 2), Cells(BisZeile, 2))
If Zelle2 = "Start of session" Then
zProxy = zProxy + 1
'          If Cells(lZeile, 1) <> (Right(Zelle, 11) <> "160.45.10.9") _
'            And ActiveCell.Offset(-1, 2).Value = "End of session" Then
'            GoTo Ende
'            ##Bringt auch nichts.
'          End If
End If
Next
End If
Next Zelle
Ende:
MsgBox "Session physics: " & zPhysic & vbCrLf _
& "Session proxy  : " & zProxy & vbCrLf
End Sub

Bild

Betrifft: AW: Zähler anhalten (die 2te)
von: Hans W. Herber
Geschrieben am: 01.10.2003 07:14:19
Hallo Heinz,

wie folgt:

Sub Sitzungen_Click()
Const csIP = "160.45.10.9"
Dim lRow As Long, lRowL As Long
Dim iSession As Integer
Dim bln As Boolean
lRowL = Cells(Rows.Count, 1).End(xlUp).Row
For lRow = 1 To lRowL
If InStr(Cells(lRow, 1).Value, csIP) Then
bln = True
ElseIf InStr(Cells(lRow, 1).Value, "IP-address:") And _
InStr(Cells(lRow, 1).Value, csIP) = False Then
bln = False
End If
If bln And InStr(Cells(lRow, 2).Value, "Start of session") Then
iSession = iSession + 1
End If
Next lRow
MsgBox iSession
End Sub


gruss hans
Bild

Betrifft: AW: Zähler anhalten (die 2te)
von: Hallo Hans
Geschrieben am: 02.10.2003 10:56:28
Hallo Hans,

Danke für das Beispiel, habe es erst jetzt gesehen. Es hat funktioniert.

Gruß Heinz
 Bild