Office: (Office 2013) Code über 2 Zeilen

Helfe beim Thema Code über 2 Zeilen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich möchte folgenden VBA Code einfügen: If Target = Application.Round(Range("T24")*Range("S24")/Range("U24") ,2) And Range ("V23") =... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Naddus0207, 21. November 2016.

  1. Naddus0207 Erfahrener User

    Code über 2 Zeilen


    Hallo,

    ich möchte folgenden VBA Code einfügen:

    Code:
    If Target = Application.Round(Range("T24")*Range("S24")/Range("U24") ,2) And Range ("V23") = Application.Round(Range("T23")*Range("S23")/Range("U23") ,2) And Range ("V22") = Application.Round(Range("T22")*Range("S22")/Range("U22") ,2) And Range ("V21") = Application.Round(Range("T21")*Range("S21")/Range("U21") ,2) And Range ("V20")= Application.Round(Range("T20")*Range("S20")/Range("U20") ,2) And Range ("V19") = Application.Round(Range("T19")*Range("S19")/Range("U19") ,2) And Range("V18") = Application.Round(Range("T18")*Range("S18")/Range("U18") ,2) And Range("V17") = Application.Round(Range("T17")*Range("S17")/Range("U17") ,2)  And Range("V16")= Application.Round(Range("T16")*Range("S16")/Range("U16") ,2) And Range ("V15") = Application.Round(Range("T15")*Range("S15")/Range("U15") ,2) And Range("V12") =Application.Round(Range("T12")*Range("S12")/Range("U12") ,2) And Range("V13") =Application.Round(Range("T13")*Range("S13")/Range("U13") ,2) And Range("V14") =Application.Round(Range("T14")*Range("S14")/Range("U14") ,2) And Range("AA11") = 13 Then
    Leider passt der nicht in eine Zeile. Daher würde ich ihn gerne an der Stelle
    Code:
    And Range("V13") 
    auf die zweite Zeile schieben. Aber irgendwie bekomme ich das nicht so hin, dass es funktioniert. Habe es mit & _ probiert, dass klappt aber nicht.

    Weiß jemand einen Rat?

    Danke.
     
    Naddus0207, 21. November 2016
    #1
  2. Naddus0207 Erfahrener User
    Ich schreib den Code besser noch einmal so, damit man es besser lesen kann:

    If Target = Application.Round(Range(“T24”)*Range(“S24”)/Range(“U24”) ,2) And Range (“V23”) = Application.Round(Range(“T23”)*Range(“S23”)/Range(“U23”) ,2) And Range (“V22”) = Application.Round(Range(“T22”)*Range(“S22”)/Range(“U22”) ,2) And Range (“V21”) = Application.Round(Range(“T21”)*Range(“S21”)/Range(“U21”) ,2) And Range (“V20”)= Application.Round(Range(“T20”)*Range(“S20”)/Range(“U20”) ,2) And Range (“V19”) = Application.Round(Range(“T19”)*Range(“S19”)/Range(“U19”) ,2) And Range(“V18”) = Application.Round(Range(“T18”)*Range(“S18”)/Range(“U18”) ,2) And Range(“V17”) = Application.Round(Range(“T17”)*Range(“S17”)/Range(“U17”) ,2) And Range(“V16”)= Application.Round(Range(“T16”)*Range(“S16”)/Range(“U16”) ,2) And Range (“V15”) = Application.Round(Range(“T15”)*Range(“S15”)/Range(“U15”) ,2) And Range("V12") =Application.Round(Range(“T12”)*Range(“S12”)/Range(“U12”) ,2) And Range("V13") =Application.Round(Range(“T13”)*Range(“S13”)/Range(“U13”) ,2) And Range("V14") =Application.Round(Range(“T14”)*Range(“S14”)/Range(“U14”) ,2) And Range("AA11") = 13 Then
     
    Naddus0207, 21. November 2016
    #2
  3. Naddus0207 Erfahrener User
    Mal so als Nebenfrage, kann es sein, dass Codes so lang sind, dass sie Excel beim Speichern in die Knie zwingen?
     
    Naddus0207, 21. November 2016
    #3
  4. Crazy Tom Erfahrener User

    Code über 2 Zeilen

    Hallo

    du hast die maximale Anzahl Zeichen in einer Zeile Code überschritten

    schau mal ob es so geht

    Code:
    Sub test()
    If Target = Application.Round(Range(“T24”) * Range(“S24”) / Range(“U24”), 2) _
        And Range(“V23”) = Application.Round(Range(“T23”) * Range(“S23”) / Range(“U23”), 2) _
        And Range(“V22”) = Application.Round(Range(“T22”) * Range(“S22”) / Range(“U22”), 2) _
        And Range(“V21”) = Application.Round(Range(“T21”) * Range(“S21”) / Range(“U21”), 2) _
        And Range(“V20”) = Application.Round(Range(“T20”) * Range(“S20”) / Range(“U20”), 2) _
        And Range(“V19”) = Application.Round(Range(“T19”) * Range(“S19”) / Range(“U19”), 2) _
        And Range(“V18”) = Application.Round(Range(“T18”) * Range(“S18”) / Range(“U18”), 2) _
        And Range(“V17”) = Application.Round(Range(“T17”) * Range(“S17”) / Range(“U17”), 2) _
        And Range(“V16”) = Application.Round(Range(“T16”) * Range(“S16”) / Range(“U16”), 2) _
        And Range(“V15”) = Application.Round(Range(“T15”) * Range(“S15”) / Range(“U15”), 2) _
        And Range("V12") = Application.Round(Range(“T12”) * Range(“S12”) / Range(“U12”), 2) _
        And Range("V13") = Application.Round(Range(“T13”) * Range(“S13”) / Range(“U13”), 2) _
        And Range("V14") = Application.Round(Range(“T14”) * Range(“S14”) / Range(“U14”), 2) _
        And Range("AA11") = 13 Then
    End Sub
    MfG Tom
     
    Crazy Tom, 21. November 2016
    #4
  5. Beverly
    Beverly Erfahrener User
    Hi,

    du musst den Cursor direkt links vor das "A" bei jedem And setzen, jeweils einen Unterschrich _ einfügen und dann Enter drücken.
    Das ganz Prinzip funktioniert vor jedem VBA-Befehl, also auch z.B. vor Range. Es gibt ein paar Ausnahmen wo das nicht möglich ist, aber da macht dich der Debugger schon darauf aufmerksam, indem er dann die Zeile in Rot schreibt.

    Bis später,
    Karin
     
  6. Naddus0207 Erfahrener User
    Ok, ich habe jetzt mal den Code komplett eingegegeben und zwar so:

    Code:
    If Target.Cells(1).Address(False, False) = "V24" Then
            If Target = Application.Round(Range(“T24”) * Range(“S24”) / Range(“U24”), 2) _
            And Range(“V23”) = Application.Round(Range(“T23”) * Range(“S23”) / Range(“U23”), 2) _
            And Range(“V22”) = Application.Round(Range(“T22”) * Range(“S22”) / Range(“U22”), 2) _
            And Range(“V21”) = Application.Round(Range(“T21”) * Range(“S21”) / Range(“U21”), 2) _
            And Range(“V20”) = Application.Round(Range(“T20”) * Range(“S20”) / Range(“U20”), 2) _
            And Range(“V19”) = Application.Round(Range(“T19”) * Range(“S19”) / Range(“U19”), 2) _
            And Range(“V18”) = Application.Round(Range(“T18”) * Range(“S18”) / Range(“U18”), 2) _
            And Range(“V17”) = Application.Round(Range(“T17”) * Range(“S17”) / Range(“U17”), 2) _
            And Range(“V16”) = Application.Round(Range(“T16”) * Range(“S16”) / Range(“U16”), 2) _
            And Range(“V15”) = Application.Round(Range(“T15”) * Range(“S15”) / Range(“U15”), 2) _
            And Range("V12") = Application.Round(Range(“T12”) * Range(“S12”) / Range(“U12”), 2) _
            And Range("V13") = Application.Round(Range(“T13”) * Range(“S13”) / Range(“U13”), 2) _
            And Range("V14") = Application.Round(Range(“T14”) * Range(“S14”) / Range(“U14”), 2) _
            And Range("AA11") = 13 Then
                ActiveSheet.Unprotect ("123")
                Range("V25").Locked = False
                Range("V25").Select
                ActiveSheet.Protect ("123")
            End If
        End If
    Da bekomme ich dann den Fehler: Laufzeitfehler 1004 Die Methode 'Range' für das Objekt '_Worksheet" ist fehlgeschlagen. Und die Zeilen von "If Target = bis = 13 Then" werden gelb hinterlegt?
     
    Zuletzt bearbeitet: 21. November 2016
    Naddus0207, 21. November 2016
    #6
  7. Naddus0207 Erfahrener User
    Ok ich hab die kursiven Anführungsstriche durch gerade ersetzt, jetzt scheint es komischerweise zu funktionieren.
     
    Naddus0207, 21. November 2016
    #7
  8. Crazy Tom Erfahrener User

    Code über 2 Zeilen

    Hallo

    was passiert denn wenn du vor jedes .Round erst noch ein .WorkSheetFunction schreibst?

    sollte dann so aussehen

    Application.WorksheetFunction.Round(

    MfG Tom
     
    Crazy Tom, 21. November 2016
    #8
  9. Naddus0207 Erfahrener User
    Hallo,

    siehe #7 & danke für die Hilfe.
     
    Naddus0207, 21. November 2016
    #9
  10. BoskoBiati Erfahrener User
    Hallo,

    das könnte man auch einfacher haben:

    Code:
    if intersect(Target,Range("V24")) is nothing or Target.count>1 then exit sub
    For loA=14 to 24
    If Range("V" & loa)=Application.Round(Range("T" & loa) * Range("S" & loa) / Range("U2" & loa), 2) then lob=lob+1
    next
    If lob=11 and Range("AA11")=13 then
    ActiveSheet.Unprotect ("123")
                Range("V25").Locked = False
                Range("V25").Select
                ActiveSheet.Protect ("123")
    end if
    Ich frage mich, wie man die komischen Gänsefüßchen hinkriegt, die Du da produziert hast!
     
    BoskoBiati, 21. November 2016
    #10
Thema:

Code über 2 Zeilen

Die Seite wird geladen...
  1. Code über 2 Zeilen - Similar Threads - Code Zeilen

  2. VBA Code für Zeilen ausblenden einblenden mit JA/Nein

    in Microsoft Excel Hilfe
    VBA Code für Zeilen ausblenden einblenden mit JA/Nein: Hallo, habe eine Exceltabelle, bei der ich bei einer Zelle eine Ja/Nein abfrage mache, wenn in der Zelle Nein steht, dann soll ein bestimmter Zeilenbereich, den ich definieren möchte, ausgeblendet...
  3. VBA Code gesucht für Zeilen löschen anhand von Kriterien

    in Microsoft Excel Hilfe
    VBA Code gesucht für Zeilen löschen anhand von Kriterien: Guten Tag Ich habe eine Exceldatei mit mehreren Tabellen. Auf einer Tabelle habe ich eine ziemlich grosse Liste von Einträgen, die mit einem bestimmten Schlüssel versehen sind (pro Tag mehrere...
  4. VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen

    in Microsoft Excel Hilfe
    VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen: Hallo liebe Excel-Kommunity, nach ewigen Stunden des Suchens und Rumprobierens bin ich an dem Punkt angekommen an dem ich verzweifelt um eure Hilfe fragen muss. Da ich leider keinerlei...
  5. Bedingte Formatierung für leere Zeilen

    in Microsoft Excel Hilfe
    Bedingte Formatierung für leere Zeilen: Guten Tag, ein Kollege hat mich darum gebeten, ihm bei seiner Tabelle zu helfen. Es handelt sich dabei um eine Aufstellung, bei welcher in der ersten Spalte eine Nummerierung vorliegt, die...
  6. VBA Code - aktive Zeile markieren und kopieren

    in Microsoft Excel Hilfe
    VBA Code - aktive Zeile markieren und kopieren: Hallo zusammen Ich möchte die aktive Zeile mit den Spalten A:AA im Tabellenblatt 1 mit einem VBA Code automatisch ins Tabellenblatt 2, Zeile 1 kopieren. Habe schon einige Codes versucht, und...
  7. Jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders einfärben

    in Microsoft Excel Hilfe
    Jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders einfärben: Hallo und guten Tag, ich habe eine Excel-Tabelle, in der eine jeweils unterschiedliche Anzahl von Zeilen abwechselnd anders eingefärbt werden soll. Hier ein Screenshot, wie es am Ende...
  8. Code funktioniert nicht in erster Zeile eines Kombinationsfeldes

    in Microsoft Access Hilfe
    Code funktioniert nicht in erster Zeile eines Kombinationsfeldes: Hallo Community, ich habe ein vermutlich nur ganz kleines Problem: Folgender Code bezieht sich auf ein Kombinationsfeld mit dem Namen "Art". Er führt dazu, dass je nach Auswahl, die über das...
  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