Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Sprungmarke mit Variablen definieren

Forumthread: Sprungmarke mit Variablen definieren

Sprungmarke mit Variablen definieren
13.02.2025 12:59:17
Udo
Seid gegrüßt Ihr Spezialisten,

mir ist schon klar, das Sprungmarken nicht das Beste für die Programmierung sind, ABER
ich muss mich durch verschiedene Tabellenblätter wühlen um zu einem Ergebnis zu kommen. Dabei wird immer die Zelle C3 abgefragt, ob sie ungleich Null ist, da die Tabellenblätter alle verschieden sind, laufen bei positiver Antwort der Abfrage verschiedene Makros ab. Die verschiedenen Makros sind durch Sprungmarken markiert.
Nun möchte ich diese Sprungmarken mit Variablen bestimmen.
Beispiel:
Wenn C3 0 und H4 = 2 dann gehe zu Sprungmarke "Wert1" (das klappt auch wunderbar, kein Problem)
Nun möchte ich aber die Zahl hinter "Wert" durch eine Variable ersetzen, Wenn C30 und H4=4 dann Sprungmarke "Wert2",Wenn C30 und H4=6 dann Sprungmarke "Wert3",Wenn C30 und H4=6 dann Sprungmarke "Wert5" usw.
Dafür müsste ich aber den Namen der Sprungmarke aus "Wert" und einer Variablen bilden, habe ich so gemacht:
WERT = "" MElke= "Mast" + WERT Das Ergebnis von WERT erhöht sich um 1 wenn zuvor die Bedingung erfüllt wurde, so kommt es dann zu "Mast1" "Mast2" "Mast3" usw.
Nun bekomme ich aber eine Fehlermeldung, meine Zeile >> If höhe = 0 Then GoTo MElke wird mit >> Sprungmarke nicht definiert beantwortet.
MElke habe ich mit >>Dim MElke As String definiert.
Liegt es an "as String" oder geht es vielleicht überhaupt nicht Sprungmarken mit Variablen zu definieren ? ? ?
Ich hoffe, das ich mein Problem richtig erklärt habe und Ihr mir helfen könnt ****** ja Sprungmarken sind blöd, aber der einfachste Weg innerhalb eines Makros zu navigieren
Gruß Udo
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sprungmarke mit Variablen definieren
13.02.2025 13:05:00
BoskoBiati
Hi,

Du glaubst nicht ernsthaft, dass jemand ohne das Makro und die Datei zu kennen, aus Deinem Geschreibsel schlau wird?

Gruß

Edgar
AW: Sprungmarke mit Variablen definieren
13.02.2025 13:11:51
Udo
Ich frage im Tabellenblatt den Wert C3 und den Wert H4 ab . In Abhängigkeit diese Werte ergibt sich die Sprungmarke. Ich möchte nur wissen, ob ich Sprungmarken durch Variablen erstellen kann UND wenn ja wie ich sie definieren muss, eigentlich nicht schwer, oder ? Welchen Sinn bringt hier meine Tabelle ?
Anzeige
AW: Sprungmarke mit Variablen definieren
13.02.2025 13:08:19
Ulf
Hi,
Sprungmarken MÜSSEN fix sein und sind NICHT der einfachste Weg.
hth
Ulf
AW: Sprungmarke mit Variablen definieren
13.02.2025 13:23:38
Uduuh
Hallo,
anstatt der Sprungmarken solltest du unterschiedliche Prozeduren verwenden.
Die kannst du dann mit z.B. Application.Run MElke aufrufen.

Gruß aus'm Pott
Udo
AW: Sprungmarke mit Variablen definieren
13.02.2025 16:34:07
GerdL
Hallo Udo!
Select Case MEIke

Case "Mast1"
GoTo Maggifix
Case "Mast2"
GoTo Knorrfix
Case "Mast5"
GoTo Spaghettifix
Case Else
'Mach nix
End Select

Eine Alternative ist dir gezeigt worden.
Gruß Gerd
Anzeige
AW: Sprungmarke mit Variablen definieren
14.02.2025 00:57:45
Yal
Hallo Udo,

"mir ist schon klar, das Sprungmarken nicht das Beste für die Programmierung sind"
Vollkommen richtig.
Dazu ist nur zu ergänzen: warum willst Du in dieser falschen Richtung weitergehen?

Poste einfach deinen Code und wir geben eine gute Lösung.

VG
Yal
Anzeige
AW: Sprungmarke mit Variablen definieren
15.02.2025 13:56:06
Peter
Ich glaube es handelt sich um ein X-y problem


Ich bin ja bekennender Fan von Sprungmarken (aber nur weil ich die nur als Cleanup nutze -> also Code1 GoToVarCleanUp...) Aber ich nutze Sprungmarken nur um in einer Prozedur (function / Sub) etwas aufzuräumen, das navigieren mache ich mit richtigen Namens konventionen.
(ich glaube du kennst keine Subs/functions)

Also erkläre ich mal paar Styling patterns.
#1-Module
Du kannst in VBA mehrere Module Erstellen (rechtsklick) und auch mehrere klassenmodule (die sind für fortgeschrittene)
Du gibst den modulen gute namen (ich starte immer mit m dann der [Name])
In den Modulen sind ähnliche Funktionen.

#2-Zugriff
Die funktionen die du häufiger verwendest setzt du public (sprich du kannst sie von anderen modulen callen) die anderen setzt du private. Ich Empfehle erstmal alle Functions Sub Private zu setzen bis du sie irgendwann nicht aufrufen kannst.

#3-Modul call
du callst dann fremde module über [anderereModulName].[functions/SubName]

Als konkretes Beispiel.
Logische Module
mMain [hat die Funktionen tagesablauf]
mHaushalt [hat die Funktionen Staubsaugen | Kochen ]
mFreizeit [hat die Funktionen Freundetreffen]

wenn du jetzt einen Alltagsablauf erstellst dann gehst du in Main und erstellst die funktion tagesablauf inetwa

public sub tagesablauf()
aktuellerTag = "wochentag"
if aktuellerTag = "Montag" then
mHaushalt.Staubsagen()
mHaushalt.Kochen()
elseIf aktuellerTag = "Samstag" then
mHaushalt.kochen()
mHaushalt.Freundetreffen()
endIf
end sub

So strukturiere (ich) meinen Vba code.


Falls deine Frage weiterhin besteht und du auf die Switchcases verzichten möchtest kannst du code in der Form schreiben:
Sub TestDynamischerAufruf()

Dim funcName As String
funcName = "MeineFunktion" ' Funktionsname als String
Application.Run funcName, "Hallo per String!"
End Sub

Sub MeineFunktion(msg As String)
MsgBox msg
End Sub


dieser Code hat jetzt Strings und called die subs
https://learn.microsoft.com/de-de/office/vba/api/excel.application.run

ich hoffe das konnte dir Helfen.
Feedback ob gut oder Schlecht in form einer Antwort oder eines Daumenshoch würde mich sehr freuen.
Galigrü
Anzeige
AW: Sprungmarke mit Variablen definieren
17.02.2025 08:49:00
Udo
Ich finde kein Verständnis für mein Problem, deshalb noch mal von vorn

In einem Kalkulationsprogram stehen 12 mögliche Maste zur Verfügung (nummeriert von 1 bis 12), es gibt die Möglichkeit Mastart 2 und Mastart 3 sowie Mastart 9 auszuwählen, oder aber auch Mastart 4 und Mastart 6 sowie Mastart 12 oder gar mehr oder weniger auszuwählen.
Die ausgewählten Maste werden von Excel gezeichnet und berechnet und für die Ausgabe der Berechnung in ein Ausgabeformular übertragen.

Meine Sprungmarken ergeben sich nun aus den gewählten Masten, die Sprungmarke tut nichts anderes als die Einfügeposition im Ausgabeformular zu bestimmen.
Ist die Mastart gewählt soll sie auch ins Ausgabeformular zB. Zeile 1000 als Starteinfügepunkt, der nächste Einfügepunkt wäre nun bei 1250.
Ich habe wie geschrieben 12 Mastarten, mit den Sprungmarken möchte ich dafür sorgen, das egal welche Mastart als nächstes 250 Zeilen weiter eingesetzt wird.

Was ich tatsächlich benötige ist eine Sprungmarke die wie folgt aussieht "Name"&Variable. Der Name ist immer gleich, die Variable ergibt aus der Mastauswahl.

Mein Benutzer wählt Mastart2 und Mastart 6 und Mastart 7, die Einfügepunkte im Ausgabeformular sind 1000, 1250 und 1500
Mein Benutzer wählt Mastart3 und Mastart 6 und Mastart 8, die Einfügepunkte im Ausgabeformular sind 1000, 1250 und 1500
um die Einfügepunkte zu bestimmen benötige ich variable Sprungmarken
Anzeige
AW: Sprungmarke mit Variablen definieren
17.02.2025 10:34:18
Udo
Und dazu noch folgendes Problem:
Ich habe mir eine kleine Tabelle erstellt, in ihr werden die verschiedenen Maste abgefragt. Nun möchte ich, das bei Mastauswahl (geschieht hierbei mit "x" in Spalte E in Spalte G die Zeilennummern addiert werden, ABER nur um den Faktor 65 wenn die Zeile in Spalte F mit 1 gefüllt ist, bei 0 Einträgen soll die Zeile übersprungen werden, was ich mit den Formeln in Spalte G erreicht habe ist NICHTS
Anzeige
AW: Sprungmarke mit Variablen definieren
17.02.2025 12:11:07
Yal
Hallo Udo,

es ist klar, dass kein Verständnis für dein Problem gefunden wird, weil Du in einer eigenwilligen Richtung entwickelt hast, die jegliche Best practice widerspricht. Da wird keiner, der ein Bischen Ahnung von Programmieren hat, sich in deinem -nicht allgemein genug- Denkweise einarbeiten. Um noch dazu diese falsche Richtung zu unterstützen. Da holt man sich nur die nächste Rückfrage.

Noch dazu erschwert, dass Du partout keinen Code zur Verfügung stellen möchtest, trotz mehrfache Angebot, sich den Code für dich anzuschauen.

Für deine neue Frage herstelle lieber einen neuen Thread. Diese ist sowieso nicht mehr sexy genug.

VG
Yal

Anzeige
AW: Sprungmarke mit Variablen definieren
13.02.2025 13:21:41
Udo
Eigentlich will ich von Euch nur wissen ob dieser Eintrag >>> If höhe = 0 Then GoTo MElke MElke zusummen gesetzt aus "Mast" + WERT, überhaupt möglich ist
definitiv nicht möglich. owT
13.02.2025 13:30:38
Uduuh
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18