Office: (Office 365) Variabler Zeilensprung.

Helfe beim Thema Variabler Zeilensprung. in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, kann mir jemand helfen dieses Makro variabel zu machen? "If Not Intersect(Range("e51"), Target) Is Nothing Then Range("g32").Select End If"... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Andre8, 2. März 2021.

  1. Andre8 hat Ahnung

    Variabler Zeilensprung.


    Hallo,
    kann mir jemand helfen dieses Makro variabel zu machen?
    "If Not Intersect(Range("e51"), Target) Is Nothing Then
    Range("g32").Select
    End If"
    das muss variabel werden (Range("e51"), Target)
    Wenn "D13" =10 soll es von E41 zu G32 springen. bei 15 von E46 zu G32 springen und bei 20 von E51 zu g32 springen.
    Die D13 ändert sich nach Liefermenge.
    Mit freundlichen Grüssen
    Andre
     
    Andre8, 2. März 2021
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    Excel-Datei mit Makro liegt bei.
     
    Exl121150, 2. März 2021
    #2
    1 Person gefällt das.
  3. Andre8 hat Ahnung
    Andre8, 2. März 2021
    #3
  4. Andre8 hat Ahnung

    Variabler Zeilensprung.

    Noch eine Frage Wieso funktioniert das rot markiertes Makro nicht? Habe ich was falsch gemacht?
    Select Case Range("D13").Value
    Case 10:
    If Not Intersect(Range("E41"), Target) Is Nothing Then Range("g32").Select
    Case 15:
    If Not Intersect(Range("E46"), Target) Is Nothing Then Range("g32").Select
    Case 20:
    If Not Intersect(Range("E51"), Target) Is Nothing Then Range("g32").Select
    Case 25:
    If Not Intersect(Range("E56"), Target) Is Nothing Then Range("g32").Select
    Case 30:
    If Not Intersect(Range("E56"), Target) Is Nothing Then Range("e70").Select
    Case 30:
    If Not Intersect(Range("E74"), Target) Is Nothing Then Range("g32").Select

    End Select
     
    Andre8, 2. März 2021
    #4
  5. Exl121150 Erfahrener User
    Hallo,

    das ist einfach: Du hast 2x hintereinander "Case 30:" geschrieben - dadurch wird die Verzweigung natürlich bereits beim 1. Case ausgeführt und die Programmausführung kommt gar nie zum 2. Case.
     
    Exl121150, 2. März 2021
    #5
    1 Person gefällt das.
  6. Andre8 hat Ahnung
    Hallo Anton,
    wie kann ich machen wenn ich mehr als 25 prüfen muss "D13 = 30" das es von E56 zu E70 Springt und erst beim Erreichen von E74 zu G32 springt?
    Grüße Andre
     
    Andre8, 2. März 2021
    #6
  7. Exl121150 Erfahrener User
    Hallo,

    Code:
       Select Case Range("D13").Value
         Case 10:
             If Not Intersect(Range("E41"), Target) Is Nothing Then Range("g32").Select
         Case 15:
             If Not Intersect(Range("E46"), Target) Is Nothing Then Range("g32").Select
         Case 20:
             If Not Intersect(Range("E51"), Target) Is Nothing Then Range("g32").Select
         Case 25:
             If Not Intersect(Range("E56"), Target) Is Nothing Then Range("g32").Select
         Case 30:
             If Not Intersect(Range("E56"), Target) Is Nothing Then
                Range("E70").Select
             ElseIf Not Intersect(Range("E74"), Target) Is Nothing Then
                Range("G32").Select
             End If
       End Select
    
     
    Exl121150, 2. März 2021
    #7
    1 Person gefällt das.
  8. Andre8 hat Ahnung

    Variabler Zeilensprung.

    Danke Anton
    werde morgen es ausprobieren.
    Schönen abend noch.
     
    Andre8, 2. März 2021
    #8
  9. Andre8 hat Ahnung
    Hallo Anton,
    das Code funktioniert soweit.
    Ich wollte es erweitern aber es kommt zu einer Fehler Meldung.
    Was mache ich falsch?
     
    Andre8, 3. März 2021
    #9
  10. Exl121150 Erfahrener User
    Hallo André,

    bei der Änderung des Makros hast du die allerletzte Zeile, die aber formal unbedingt nötig ist, entfernt:
    End Sub
    Genau das sagt ja auch die Fehlermeldung aus. Einfach nach dem letzten "End Select" in eine neue Zeile eintippen.
     
    Exl121150, 3. März 2021
    #10
    1 Person gefällt das.
  11. Andre8 hat Ahnung
    Danke Anton das hat funktioniert.
    jetzt wollte ich es für größere Stückzahlen (35,40,45,50) erweitern aber es funktioniert nicht.
    muss es wieder das Code geändert werden?
     

    Anhänge:

    Andre8, 3. März 2021
    #11
  12. Exl121150 Erfahrener User
    Hallo,

    du hast vor der Zeile "Case 35:" das vorhergehende IF-Statement nicht korrekt beendet, indem du kein abschließendes "End If" vorgesehen hast. Das müsste einen Fehler beim Kompilieren auslösen.

    Darüber hinaus sehe ich, dass du unter "Case 30:" und unter "Case 35:" den gleichen VBA-Code stehen hast. Wenn die Code-Gleichheit tatsächlich bestehen bleibt, dann kann man das deutlich vereinfachen, indem man schreibt "Case 30, 35:". Dann braucht man den dazu gehörigen Code natürlich nur 1x hinschreiben, weil er dann sowohl für 30 als auch 35 gilt.

    In der beiliegenden Datei habe ich dir das Makro einfacher handhabbar umprogrammiert, indem ich die Test- und Selektionsbefehle in Unterprogramme verschoben habe.
     
    Exl121150, 3. März 2021
    #12
    1 Person gefällt das.
  13. Andre8 hat Ahnung

    Variabler Zeilensprung.

    Danke Anton
    ich werde es ausprobieren.
     
    Andre8, 3. März 2021
    #13
  14. Andre8 hat Ahnung
    Select Case Range("D13").Value
    Case 10:
    If Not Intersect(Range("E41"), Target) Is Nothing Then Range("g32").Select
    Case 15:
    If Not Intersect(Range("E46"), Target) Is Nothing Then Range("g32").Select
    Case 20:
    If Not Intersect(Range("E51"), Target) Is Nothing Then Range("g32").Select
    Case 25:
    If Not Intersect(Range("E56"), Target) Is Nothing Then Range("g32").Select
    Case 30, 35, 40, 45, 50:
    If Not Intersect(Range("E56"), Target) Is Nothing Then
    Range("E70").Select
    ElseIf Not Intersect(Range("E74, E79, E84, E89, E94"), Target) Is Nothing Then
    Range("G32").Select

    End If
    End Select
    End Sub
    Wie mache ich in diesen Bereich richtig?
     
    Andre8, 3. März 2021
    #14
  15. Exl121150 Erfahrener User
    Hallo André,

    von der Syntax her ist der Code korrekt (es gibt keine Kompilierfehler).

    Was der Code ab dem letzten "Case..." macht, ist Folgendes:
    1) Es wird vorausgesetzt, dass "Target" die Zelle ist, in der eine Änderung stattfand.
    2) Wenn in der Zelle D13 eine der 5 Zahlen (30,35,40,45,50) enthalten ist, dann überprüft der Code, ob Target sich in Zelle E56 befindet:
    2a) Falls das zutrifft, wird Zelle E70 selektiert.
    2b) Falls das nicht zutrifft, wird überprüft, ob Target sich in einer der folgenden 5 Zellen (E74, E79, E84, E89, E94) befindet:
    2c) Falls Letzteres (Punkt 2b) zutrifft, wird Zelle G32 selektiert.
     
    Exl121150, 3. März 2021
    #15
Thema:

Variabler Zeilensprung.

Die Seite wird geladen...
  1. Variabler Zeilensprung. - Similar Threads - Variabler Zeilensprung

  2. Variable Länge

    in Microsoft Excel Hilfe
    Variable Länge: Hallo zusammen, ich habe mal eine Frage. In einer Tabelle sind Spalten und Zeilen angegeben. Die Zeilen werden beispielsweise mit A1:H5 angegeben. Nun werden zwei Spalten mit Werten hinzugefügt....
  3. Schuldenplan, Variable Rückzahlung

    in Microsoft Excel Hilfe
    Schuldenplan, Variable Rückzahlung: Erstmal Hallo in die Runde und schönen 2. Advent, Ich habe mal eine Frage und brauche mal ein wenig Schwarm wissen. Ich möchte gerne einen Schuldenzahlungsplan mit mehreren Gläubigern anlegen....
  4. Doppelkopf Spielplan (jeder gegen jeden) VBA / Excel / Access

    in Microsoft Excel Hilfe
    Doppelkopf Spielplan (jeder gegen jeden) VBA / Excel / Access: Hallo zusammen *:)* in diesem Forum habe ich bereits zwei Beiträge gefunden, die in die Richtung meines Anliegens gehen - beides passt letzten Endes dann aber leider doch nicht auf meinen...
  5. VBA Code anpassen mit variablem Tabellen Ende

    in Microsoft Excel Hilfe
    VBA Code anpassen mit variablem Tabellen Ende: Hallo, im folgenden Code möchte ich gerne statt eines fest vorgegebenen Tabellen Ende ein variables einsetzen. Sub Verkettung() Dim i As Long For i = 2 To 15000 'Hier soll kein festes Ende...
  6. Variable Abfrage auf verschiedene Tabellenblätter

    in Microsoft Excel Hilfe
    Variable Abfrage auf verschiedene Tabellenblätter: Hallo zusammen, bitte um Hilfe bei folgendem Problem: Ausgangssituation: Tabelle "Artikel" mit allgemeinen Stammdaten, darunter je eine Spalte "Artikelnummer" und "Sachmerkmalnummer" Tabellen...
  7. Wert einer Spalte beim Durchlauf der Tabelle in einer Variablen speichern

    in Microsoft Access Hilfe
    Wert einer Spalte beim Durchlauf der Tabelle in einer Variablen speichern: Hallo, ich möchte eine gewisse Anzahl von Datensätzen mit einer Schleife durchlaufen. Dabei soll der Wert in der 1.Spalte für den aktuellen Datensatz in einer Variablen gespeichert werden....
  8. Verlinkung zu anderen Excel-Listen mit Variable im Link

    in Microsoft Excel Hilfe
    Verlinkung zu anderen Excel-Listen mit Variable im Link: Guten Tag, aktuell versuche ich eine Funktion mit Hilfe von SVERWEIS zu bauen, die es ermöglicht, bestimmte Zahlen aus anderen Excel-Listen abzurufen. Eine einfache Verlinkung zu einer dieser...
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden