Thema Datum  Von Nutzer Rating
Antwort
05.05.2014 14:52:33 holymoly
NotSolved
05.05.2014 16:27:29 Gast9777
NotSolved
Rot Aufruf einer Prozedur bei Änderung eines bestimmten Bereichs
06.05.2014 16:56:20 holymoly
NotSolved

Ansicht des Beitrags:
Von:
holymoly
Datum:
06.05.2014 16:56:20
Views:
1691
Rating: Antwort:
  Ja
Thema:
Aufruf einer Prozedur bei Änderung eines bestimmten Bereichs

Hallo Gast9777,

Hab das jetzt mal mit dem Code versucht. Inkl. dem was bei der Sub Restbeschleunigung () noch gefehlt hat. Aber irgendwie funktioniert es immernoch nicht. Der Ansatz gefällt mir aber sehr. Oder muss man dann noch mal alle Blätter aktualisieren oder so etwas in der Richtung? Vielen Dank schon mal für deine Hilfe! Hier mein Code:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
 Dim KeyCells As Range
 Dim i As Long
 
 Set KeyCells = Sheets("VEP2 Fahrspiel").Range("D2:J15")
 
 If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
 
   Application.ScreenUpdating = False
   Application.EnableEvents = False
 
     For i = 5 To 7
       Call Fahrtzeit(Worksheets("Tabelle" & i))
       Call Restbeschleunigung(Worksheets("Tabelle" & i))
     Next
 
   Application.EnableEvents = True
   Application.ScreenUpdating = True
 
 End If
 
End Sub
 
Public Sub Restbeschleunigung(Worksheet As Excel.Worksheet)
    Dim x As Long
     
    With Worksheet
       x = 2
        
       Do While .Cells(x, 3).Value < .Cells(10, 19).Value
     
           x = x + 1
            
           If x > 10003 Then Exit Do
       Loop
     
     
       If x < 10003 Then
           .Cells(31, 17).Value = Round(.Cells(x - 1, 6), 2)
       Else
           .Cells(31, 17).Value = 0
       End If
    End With
End Sub
 
Public Sub Fahrtzeit(Worksheet As Excel.Worksheet)
 
 Dim x As Long
 
 With Worksheet
   x = 3
   Do While .Cells(x, 3).Value = 0
     x = x + 1
   Loop
   .Cells(32, 17).Value = .Cells(x, 1).Value
 End With
 
End Sub

 


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
05.05.2014 14:52:33 holymoly
NotSolved
05.05.2014 16:27:29 Gast9777
NotSolved
Rot Aufruf einer Prozedur bei Änderung eines bestimmten Bereichs
06.05.2014 16:56:20 holymoly
NotSolved