Excel Sprungmarke mitten in ein anderes Makro

  • #1
K

klexy

Bekanntes Mitglied
Themenersteller
Dabei seit
04.05.2002
Beiträge
802
Reaktionspunkte
0
Ort
Bayern
Ich kenne die Sprungmarke GoTo innerhalb eines Makros und Application.Run an den Anfang eines anderen Makros.
Gibt es die Möglichkeit mitten in ein anderes Makro rein zu springen? Also sowas wie Application.Run/Sprungziel

Konkret: Folgende Tabelle.
Luftdruck und Temperatur werden eingegeben, Dichte wird errechnet, sobald etwas in B4 oder B5 eingegeben wird.
_________________________________________________________
ABC
1
2 Luftdichte
3 ParameterWertMaßeinheit
4 Luftdruck1000mbar (abs.)
5 Temperatur 20°C
6 Dichte1,18833926 kg/m³
-------------------------------------------------------------------------------------------

Darunter werden mit jeweils 2 Leerzeilen Abstand in gleicher Form und Anordnung noch Strömungsgeschwindigkeit, Schallpegel und sonst was alles berechnet.

Im Tabellenblatt habe ich folgendes Makro:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim M1 As String, M2 As String, M3 As String, M4 As String
Dim Z1 As Single, Z2 As Single, Z3 As Single, Z4 As Single
Dim Hier As Range
Set Hier = ActiveCell

  M1 = Luftdichte 
  Columns(A:A).Select
  Selection.Find(What:=M1, After:=ActiveCell, LookIn:=xlValues, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False).Offset(0, 1).Offset(0, -1).Select
    Selection.Activate
    Z1 = ActiveCell.Row->

  If Target.Column = 2 And Target.Row > Z1 + 1 And Target.Row < Z1 + 4 Then 
    Application.Run ER_Luftdichte 
  End If


  M2 = Strömungsgeschwindigkeit
  usw
  usw, hier kommen dann weitere gleichartige Bausteine für die weiteren Berechnungen
Das Makro ER_Luftdichte, in das gesprungen werden soll, ist im Modul 1:
Code:
Sub ER_Luftdichte()
Dim Druck As Double, Temperatur As Double, Dichte As Double
Druck = Range(B4)
Temperatur = Range(B5)
Dichte = (Druck * 100) / (287.058 * (Temperatur + 273.15))
Range(B6).Formula = Dichte
End Sub

Das Problem ist, dass nach Durchlauf des Makros ER_Luftdichte im ersten Makro (Worksheet_Change(ByVal Target As Range))nicht wieder bei der Sprungmarke (Application.Run) weitergemacht wird, sondern wieder ganz von vorne.
Eigentlich kein Problem, aber ganz am Ende des ersten Makros hab ich noch
Code:
  If Hier.Interior.ColorIndex = 33 Then->wenn das Feld blau ist, ist es ein Ergebnis- und kein Eingabefeld
  Hier.End(xlUp).Offset(1, 0).Select
  Else
  Hier.Select
  End If

Und dadurch, dass er ganz von vorne beginnt, vergisst er, wo das ursprüngliche Hier war.
Kann ich ans Ende des Makros ER_Luftdichte eine Sprungmarke an die richtige Stelle im ersten Makro setzen?
Oder was mach ich falsch, dass er wieder von vorne anfängt?
 
Thema:

Excel Sprungmarke mitten in ein anderes Makro

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben