Microsoft Excel

Herbers Excel/VBA-Archiv

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

Zähler anhalten (die 2te)

    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: https://www.herber.de/bbs/user/1205.xls

    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
    

      


    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


      


    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