Office: (Office 2013) Prozedur aufteilen

Helfe beim Thema Prozedur aufteilen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi, sicher kann der TE entscheiden was er für Code verwendet, aber man sollte ihn zumindest auf mögliche Nachteile hinweisen. Bis später, Karin Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Naddus0207, 22. November 2016.

  1. Beverly
    Beverly Erfahrener User

    Prozedur aufteilen


    Hi,

    sicher kann der TE entscheiden was er für Code verwendet, aber man sollte ihn zumindest auf mögliche Nachteile hinweisen.

    Bis später,
    Karin
     
  2. Naddus0207 Erfahrener User
    Hallo Edgar, hallo Karin.

    Vielen, vielen Dank für eure Mühe. Ich werde mich heute Abend oder morgen mit dem gekürzten Code auseinandersetzen.

    Danke
     
    Naddus0207, 23. November 2016
    #17
  3. Beverly
    Beverly Erfahrener User
    Hi,

    für die Zellen D12 bis D24: wenn ich das richtig verstehe, müssen erst alle Zellen ausgefüllt sein, ehe in der nächsten Zeile etwas eingetragen werden darf? Versuche es mal mit diesem gekürzten Code:

    Code:
        ' Code für D12:D24
        If Not Intersect(Target.Cells(1), Range("D12:D24")) Is Nothing Then
            If Target <> "" And Target.Offset(-1, 0) <> "" Then
                If Range("D25").Locked = True Then
                    ActiveSheet.Unprotect ("123")
                    Range("D25").Locked = False
                    ActiveSheet.Protect ("123")
                End If
                Range("D25").Select
            Else
                MsgBox "Bitte erst vorhergehende Zellen füllen"
                Application.EnableEvents = False
                Application.Undo
                Application.EnableEvents = True
            End If
        End If
    
    
    
    Und für die Zellen D25 und D29: D30 mit diesem:

    Code:
        ' Code für D25
        If Target.Cells(1).Address(False, False) = "D25" Then
            If Range("I11") > 1 And Range("I11") < 14 Then
                If Target = Application.Sum(Range(Cells(12, 4), Cells(12 + Cells(11, 9).Value - 1))) Then
                    If Range("D29").Locked = True Then
                        ActiveSheet.Unprotect ("123")
                        Range("D29").Locked = False
                        ActiveSheet.Protect ("123")
                    End If
                    Range("D29").Select
                End If
            End If
        End If
        
        ' Code für D29
        If Target.Cells(1).Address(False, False) = "D29" Then
            If Target = Range("D25") Then
                If Range("D30").Locked = True Then
                    ActiveSheet.Unprotect ("123")
                    Range("D30").Locked = False
                    ActiveSheet.Protect ("123")
                End If
                Range("D30").Select
            End If
        End If
        
        ' Code für D30
        If Target.Cells(1).Address(False, False) = "D30" Then
            If Target = Range("I11") Then
                ActiveSheet.Unprotect ("123")
                Range("F29:F30").Locked = False
                Range("F29:F30").Select
                ActiveSheet.Protect ("123")
            End If
        End If
    
    
    Bis später
     
  4. Naddus0207 Erfahrener User

    Prozedur aufteilen


    Hallo Beverly/Karin,

    kannst du mir bitte erklären wie die Code Zeile "Range(Cells(12, 4), Cells(lngZeile + 10, 4)).Locked = False" funktioniert? Ich versuche gerade das ganze zu verstehen "Range(Cells(12, 4) ist mir glaube ich klar - das müsste heißen, die Zelle D12 ist der Ausgangspunkt. ".Locked = False" ist mir auch klar, entsperrt die Zellen. Aber was "Cells(lngZeile + 10, 4)" bewirkt und vorallem wie es wirkt ist mir nicht klar.

    Danke
     
    Naddus0207, 25. November 2016
    #19
  5. Beverly
    Beverly Erfahrener User
    Hi,

    es sollen doch die Zellen von Zeile 12 bis zu der Zeile entsperrt werden, die sich aus 12 + der eingegebenen Zahl ergibt. Die niedrigste einzugebende Zahl ist 2 und der kleinste zu entsperrende Bereich ist D12: D13. Durch die For-Schleife wird die Variable lngZeile jeweils um 1 erhöht, sodass sie beim Verlassen der Schleife (bei Eingabe von 2) dann den Wert 3 hat - folglich ergibt 3 + 10 = 13 und mit Range(Cells(12, 4), Cells(3 + 10, 4)) wird der Bereich D12: D13 angesprochen. Bei Eingabe der Zahl 3 heißt es dann Cells(4 + 10, 4) und es wird somit D12: D14 angesprochen usw.

    Bis später,
    Karin
     
  6. Naddus0207 Erfahrener User
    Hallo Beverly,

    Danke für die Erklärung.

    Grüße
     
    Naddus0207, 29. November 2016
    #21
Thema:

Prozedur aufteilen

Die Seite wird geladen...
  1. Prozedur aufteilen - Similar Threads - Prozedur aufteilen

  2. Prozedur ist zu groß

    in Microsoft Excel Hilfe
    Prozedur ist zu groß: Hallo ich habe ein Problem und zwar werden sehr viele Kombinationsfelder beim Öffnen eines Excel Workbook gefüllt. Diese führt jetzt zu einer zu großen Prozedur. Hätte da jemand eine Lösung? Gruß...
  3. Prozeduren über eine globale Vorlage ausführen

    in Microsoft Word Hilfe
    Prozeduren über eine globale Vorlage ausführen: Hallo! Ich möchte gerne verschiedene Prozeduren in einer zentralen (globalen) Vorlage erstellen und auf diese Prozeduren bzw Funktionen mit jedem neuen Dokument insbesondere neuen Dokumenten, die...
  4. Sub-Prozedur in der Schleife

    in Microsoft Access Hilfe
    Sub-Prozedur in der Schleife: Liebe Access-Profis, wieder mal weiß ich nicht weiter: Ich habe ein Formular, indem ich 41 Bezeichnungsfelder ('Bez0 – Bez40') und ebenso viele Textfelder ('txtRedSch0 – txtRedSch40')...
  5. Gespeicherte Prozedur Eigenschaftenseite (ADP)

    in Microsoft Access Tutorials
    Gespeicherte Prozedur Eigenschaftenseite (ADP): Gespeicherte Prozedur Eigenschaftenseite (ADP) Access 2010 Access 2007 Mehr... Weniger...
  6. Gespeicherte Prozedur Parameter Eigenschaftenseite (ADP)

    in Microsoft Access Tutorials
    Gespeicherte Prozedur Parameter Eigenschaftenseite (ADP): Gespeicherte Prozedur Parameter Eigenschaftenseite (ADP) Access 2010 Access 2007 Mehr... Weniger...
  7. VBA - Prozedur zu groß

    in Microsoft Excel Hilfe
    VBA - Prozedur zu groß: Hallo, ich erzeuge mit Hilfe von Excel via VBA eine XML-Datei. Diese ist leider sehr groß (über 330.000 Zeichen auf mehreren tausend Zeilen), weshalb ich die Prozedur auf 2 Prozeduren aufgeteilt...
  8. Probleme mit Prozeduren

    in Microsoft Excel Hilfe
    Probleme mit Prozeduren: Hallo, ich hab ein kleines Problem mit Prozeduren. Der Code führt die eingeschobene Prozedur nicht in der neu erstellten Mappe aus, sondern in der alten Ursprünglichen Mappe. Ich hoffe ihr...
  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