Thema Datum  Von Nutzer Rating
Antwort
Rot Code bleibt in der IF-Abfrage hängen
15.07.2022 21:27:02 Christian
NotSolved
15.07.2022 22:39:06 ralf_b
Solved
16.07.2022 18:33:24 Christian
Solved

Ansicht des Beitrags:
Von:
Christian
Datum:
15.07.2022 21:27:02
Views:
492
Rating: Antwort:
  Ja
Thema:
Code bleibt in der IF-Abfrage hängen

Hallo,

ich habe eine lange Liste von Sensordaten, die ich jetzt auf das Wichtigste reduzieren möchte. Dazu möchte ich alles was zwischen den Schlagwörtern "beendet" und "Testnummer" steht, gelöscht wird. Die Zeilen mit den beiden Schlagwörtern sollen angezeigt werden.

Damit nicht versehentlich bereits angepasst Abschnitte gelöscht werden, habe ich eine IF-Abfrage eingebaut, sobald "ZeilennummerTestnummer" und "ZeilennummerBeendet" untereinander sind, dann nichts gelöscht werden darf. Das funktioniert beim ersten Mal ganz gut, aber sobald die beiden Zeilen untereinander sind, bleibe ich in der IF-Abfrage hängen und kommen nicht mehr raus. Ich weiß nicht wie ich den Code aufbauen soll, wenn die Zeilen untereinandner sind, der Code zum nächsten relevanten Punkt springt. Kann mir bitte jemand weiterhelfen?

 

Code:

Sub entfernen()
Dim Fundzelle1 As Range
Dim Fundzelle2 As Range
Dim ZeilennummerBeendet As Integer
Dim ZeilennummerTestnummer As Integer


Dim wksT As Worksheet
Dim Counter As Long
Dim Durchlauf As Long
Dim n As Long

n = 28

Set wksT = ActiveWorkbook.Worksheets("Tabelle4")
  With ActiveSheet.Columns(1)

    For Counter = 1 To n Step 1
    'ZeilennummerPreis = 0
    'ZeilennummerErgebnis = 0
        Set Fundzelle1 = .Find(What:="beendet", After:=ActiveCell, LookIn _
           :=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
           xlNext, MatchCase:=False, SearchFormat:=False)
        Set Fundzelle2 = .Find(What:="Testnummer", After:=ActiveCell, LookIn _
           :=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
           xlNext, MatchCase:=False, SearchFormat:=False)
    
        ZeilennummerBeendet = (Fundzelle1.Rows.Row + 1)
        ZeilennummerTestnummer = (Fundzelle2.Rows.Row - 1)
            If (ZeilennummerTestnummer > ZeilennummerBeendet) Then
            Rows(ZeilennummerBeendet & ":" & ZeilennummerTestnummer).Delete Shift:=xlUp
            End If
    Next Counter
End With
End Sub

 

Ausschnitt von den Sensordaten:

18:28:04.449 -> ICM -->  roll: 0.10  pitch: -0.04  yaw: 0.31
18:28:04.542 -> ICM -->  roll: 0.10  pitch: -0.03  yaw: 0.30
18:28:04.681 -> ICM -->  roll: 0.10  pitch: -0.03  yaw: 0.31
18:28:04.775 -> ICM -->  roll: 0.09  pitch: -0.02  yaw: 0.32
18:28:04.869 -> ICM: Test 1 beendet
18:28:09.975 -> 
18:28:15.167 -> ICM durchgeführter Test: 1
18:28:15.167 -> ICM: Winkel einstellen oder Messreihe starten
18:28:15.167 -> Taster 'Systemeinschwung' oder Taster 'Messstart' betätigen
18:28:20.350 -> 
18:29:07.038 -> ICM: Winkel ist eingestellt, das System schwingt sich für 10s ein
18:29:12.085 -> ICM -->  roll: 0.10  pitch: -0.02  yaw: 0.32
18:29:12.176 -> ICM -->  roll: 0.09  pitch: -0.01  yaw: 0.34
18:29:12.270 -> ICM -->  roll: 0.09  pitch: -0.02  yaw: 0.33
18:29:12.363 -> ICM -->  roll: 0.12  pitch: -0.03  yaw: 0.32
18:29:58.651 -> 
18:29:58.651 -> ICM durchgeführter Test: 1
18:29:58.651 -> ICM: Winkel einstellen oder Messreihe starten
18:29:58.651 -> Taster 'Systemeinschwung' oder Taster 'Messstart' betätigen
18:30:03.746 -> 
18:30:03.746 -> ICM Testnummer: 2
18:30:03.746 -> ICM -->  roll: 0.54  pitch: -0.36  yaw: 0.47
18:30:03.840 -> ICM -->  roll: 0.51  pitch: -0.35  yaw: 0.46
18:30:03.980 -> ICM -->  roll: 0.49  pitch: -0.34  yaw: 0.45
18:30:23.854 -> ICM: Test 2 beendet
18:30:28.941 -> 
18:31:26.161 -> ICM durchgeführter Test: 2
18:31:26.161 -> ICM: Winkel einstellen oder Messreihe starten
18:31:26.161 -> Taster 'Systemeinschwung' oder Taster 'Messstart' betätigen
18:31:31.261 -> 
18:31:31.261 -> ICM: Winkel ist eingestellt, das System schwingt sich für 10s ein
18:31:36.256 -> ICM -->  roll: 0.30  pitch: -0.08  yaw: 0.49
18:31:36.350 -> ICM -->  roll: 0.30  pitch: -0.07  yaw: 0.51
18:31:36.444 -> ICM -->  roll: 0.31  pitch: -0.05  yaw: 0.53
 
18:33:20.035 -> ICM durchgeführter Test: 2
18:33:20.035 -> ICM: Winkel einstellen oder Messreihe starten
18:33:20.035 -> Taster 'Systemeinschwung' oder Taster 'Messstart' betätigen
18:33:25.131 -> 

18:33:25.131 -> ICM Testnummer: 3

.

.

.

.

 

 

Vorab vielen Dank!

Viele Grüße

Christian

 

 

 

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Code bleibt in der IF-Abfrage hängen
15.07.2022 21:27:02 Christian
NotSolved
15.07.2022 22:39:06 ralf_b
Solved
16.07.2022 18:33:24 Christian
Solved