Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Code erweitern
#11
Hallo

ziemlicher langer Code, aber schön das ich mich damit beschäftigen musste.  Dabei ist mir bei Intersect etwas aufgefallen, was ich bisher nicht wusste!
Teste meine Änderungen bitte zuerst nicht im Original, sondern in einer kopierten Datei.  Zum Schutz vor evtl. Fehlern im Makro.

Ich habe dir eine MsgBox nur zum testen eingebaut, damit du dir nach einer Eingabe mal den Rangebereich selbst anschauen kannst. Dann fällt dir auch was auf!!
Intersect gibt nach einer Eingabe nicht den gesamten Bereich zurück, sondern nur die aktive Eingabezelle.  Damit musste die rng Definition als Bereich für die For Next Schleife versagen. Das habe ich jetzt umgestellt. Des weiteren würde das Makro nicht mehr ausgeführt, wenn du in Spalte X einen Text eingibst, denn die erste Set Anweisung wertet den Bereich D5:D60 aus, und verlässt das Makro wenn es dort keine Eingabe gibt!  Das habe ich auch geändert.  Jetzt musst du bitte mal testen wie sich das in deiner Datei auswirkt. 

Im ersten Teil des Makro habe ich for auch mal so umgestellt, kann aber nicht vorhersagen wie sich das auswirkt?      For Each Zelle In Range("D5:D60")      'Was passiert jetzt im Code??
Wenn das unerwünscht ist kann man die For Next Schleife ohnehin weglassen und sie direkt durch Select Case mit "rng" ersetzen:     Select Case rng.Value

Viel Spss beim Code testen (in der Kopie Datei) , ich bin gespannt was du dabei alles heraus findest und auf die Rückmeldung ....

mfg  Gast 123

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bereich As Range
    Dim Zelle As Range
    Dim intIndex As Integer
    Dim rng As Range
   
    Set rng = Intersect(Target, Range("X5:X60"))
    If Not rng Is Nothing Then GoTo SpW  'Spalte W bearbeiten
   
    Set Bereich = Range("B5:z60")
    Set rng = Intersect(Target, Range("D5:D60"))
    If rng Is Nothing Then Exit Sub
    If Target.Value = Empty Then Exit Sub
    Application.EnableEvents = False
   
MsgBox rng.Address(0, 0) '**  nur zum Range testen !!

    For Each Zelle In Range("D5:D60")      'Was passiert jetzt im Code??
    'For Each Zelle In rng
        Select Case Zelle.Value
                                            ' falls es unterschiedlicher Text wäre
            'Rechts links
            Case "2069692": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2068694": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2069693": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2061538": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2061536": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2070577": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2073630": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2079335": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2060109": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2068440": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2067661": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2066453": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2072135": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2065663": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2073641": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2073627": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2073140": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2074487": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2073642": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2073644": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2081273": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
            Case "2072030": intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
           
            'KZ48
            Case "2066150": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2068006": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2068007": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2068008": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2068009": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2069288": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2069289": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2069351": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2069352": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2069947": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2070379": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2070598": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2070599": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2070623": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2070627": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2071522": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2071617": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2071618": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2071619": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2071620": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2071621": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2071622": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2071636": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2071782": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2071830": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2072503": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2072504": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2073969": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2073972": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2074563": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2075364": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2076374": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2076815": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2077936": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2078006": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2078007": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2078213": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2078265": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2078266": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2078317": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2078377": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2078531": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2078646": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2078882": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2079639": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2079640": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2079703": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2079881": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2080309": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2081008": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2072507": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2072506": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
            Case "2069353": intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
           
            Case "2079689": intIndex = 6: Zelle.Offset(0, 19).Value = "Super-Autoreflex nur Rohglas mit  KZ45 verwenden"
           
            Case "2075086": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075524": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075525": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075527": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075528": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075529": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075530": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075531": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075532": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075533": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075534": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075537": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075540": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075541": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075542": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075543": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075545": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075547": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075548": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2075555": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2076253": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2077595": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2077653": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2077812": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2077864": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2078112": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2079199": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2079712": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2079713": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2079715": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2079716": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
            Case "2084793": intIndex = 3: Zelle.Offset(0, 19).Value = "Mat. 2079712 verwenden KZ91"
            Case "2074158": intIndex = 3: Zelle.Offset(0, 19).Value = "Mat. 2079713 verwenden KZ91"
            Case "2074275": intIndex = 3: Zelle.Offset(0, 19).Value = "Mat. 2079715 verwenden KZ91"
            Case "2079187": intIndex = 3: Zelle.Offset(0, 19).Value = "Mat. 2079716 verwenden KZ91"
            Case "2085516": intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
           
            'orange Paletten
           
            Case "2077050": intIndex = 0: Zelle.Offset(0, -2).Value = "Tampere (YF)": Zelle.Offset(0, 19).Value = "nur hohe orange Palette möglich"
            Case "2075410": intIndex = 0: Zelle.Offset(0, -2).Value = "Tampere (YF)": Zelle.Offset(0, 19).Value = "nur hohe orange Palette möglich"
            Case "2068610": intIndex = 0: Zelle.Offset(0, -2).Value = "Tampere (YF)": Zelle.Offset(0, 19).Value = "nur orange Palette möglich"
            Case "2077973": intIndex = 0: Zelle.Offset(0, -2).Value = "Solar (YS)": Zelle.Offset(0, 19).Value = "Solar Palette"
           
            Case "2073773": intIndex = 0: Zelle.Offset(0, -2).Value = "Tampere (YF)": Zelle.Offset(0, 19).Value = "nur orange Palette möglich"
            Case Else: intIndex = -4142: 'Zelle.Offset(0, 19).Value = "" ' Spalte W leeren
        End Select
        If Zelle.Value <> "" Then
            Zelle.Offset(0, 21).Value = "SM4"
        Else
            Zelle.Offset(0, 21).Value = "" ' Spalte Y leeren
        End If
        'Zelle.Offset(0, 19).Value = "Dein Text für Alle" 'hier bei immer gleichem Text
        Bereich.Rows(Zelle.Row - 4).Interior.ColorIndex = intIndex
    Next
   
SpW:  'Dein Code
    If Target.Value = Empty Then Exit Sub
    '**  NICHT Exit Sub verwenden wegen EnableEvents = True
    'Schleife für alle gültigen Eingaben
    For Each Zelle In Range("X5:X60")
        Select Case Zelle.Value
            Case "Aken", "Witten", "AGP", "Guardian"
                 Cells(Zelle.Row, "W") = "Beleg drucken"
            Case Else
                 MsgBox Target.Value & "  -  unbekannter Text"
                 Zelle.Select:  Exit For
        End Select
    Next
   
    Application.EnableEvents = True
   
End Sub

Nachtrag     Pardon, im Code gehört noch eine Zeile rein.  Wenn in Spalte X der Text gelöscht wurde.  Dann muss auch Spalte WE wieder gelöscht werden!

Code:
        Select Case Zelle.Value
            Case "Aken", "Witten", "AGP", "Guardian"
                 Cells(Zelle.Row, "W") = "Beleg drucken"
            Case Empty
                 Cells(Zelle.Row, "W") = Empty
            Case Else
                 MsgBox Target.Value & "  -  unbekannter Text"
                 Zelle.Select:  Exit For
        End Select
Antworten Top
#12
Hallo Gast 123,

vielen Dank für deine Antworten.
Der neue Code bringt mir wenn die Datei in Gebrauch ist, insgesamt zu viele Fehler für das kleine was ich eigentlich möchte. 
Deshalb verabschiede ich mich von der Idee es per VBA zu machen und überlege es mit der bedingten Formatierung umzusetzen.

Vielen Dank für deinen Einsatz und deine Geduld mit mir.
Gruß
Dietmar

Damit das Mögliche entsteht, muß immer wieder das Unmögliche versucht werden.  
Antworten Top
#13
So wie ich das sehe, hast du dir hier ein etwas umfangreicheres/n VLOOKUP/SVERWEIS gebaut. Wenn das wirklich so ist, ist dein Code etwas überdimensioniert/aufgeblassen und außerdem verwendest du den gleichen Code an verschiedenen Stellen.

Ich würde dir gern helfen etwas hübsches zu basteln, aber dazu brauch ich eine Beschreibung was der Code am Ende genau machen soll. Ich habe eine gewisse Vorstellung und ich sehe auch was dein Code momentan macht, aber manchmal weichen Vorstellungen voneinander ab, wenn du verstehst was ich meine Smile

Also sag Bescheid, wenn du noch etwas basteln willst.
Antworten Top
#14
Hallo Janush,

vielen Dank für dein Interesse. Wie du ja bestimmt gelesen hast ist VBA nicht gerade meine Stärke und die Helfer brauchen schon ein wenig Geduld mit mir. Zum Zweiten möchte ich auch was dazu lernen und bin bereit, auch mit der Hilfestellung hier VBA besser verstehen zu können.
Ich denke, du hast die Datei runtergeladen.

Es handelt sich um ein Programm das jeden Morgen aktualisiert wird, was bedeutet das fertige Aufträge gelöscht werden, neue dazu kommen usw.


Früher hatte ich einiges mit der bedingten Formatierung gelöst, was dazu geführt hat das durch das löschen, kopieren, wieder einfügen, verschieben der Aufträge die Formatierung immer mit kopiert und eingefügt worden ist, das wiederum hat die Datei unendlich vergrößert.
Dann ist mit Forumshilfen über Jahre dies Datei mit vielen guten Codes einstanden, die auch gut läuft.

Ich tue mich natürlich immer schwer, im Bereich VBA was zu verbessern, weil ich froh bin, das alles funktioniert. Hätte ich mehr VBA Wissen, wo immer man das herbekommt, wäre ich dankbar, aber dieses Gen fehlt mir leider. Ein einfaches Makro aufzuzeichnen ist nicht schwer, es dann aber zu verkürzen, dass alles Unnötige raus fällt wie z.B. select, das finde ich schon wieder schwer.


Was möchtest du sonst noch wissen oder wo siehst du Potenzial was zu verbessern?
Gruß
Dietmar

Damit das Mögliche entsteht, muß immer wieder das Unmögliche versucht werden.  
Antworten Top
#15
Zitat:Früher hatte ich einiges mit der bedingten Formatierung gelöst, was dazu geführt hat das durch das löschen, kopieren, wieder einfügen, verschieben der Aufträge die Formatierung immer mit kopiert und eingefügt worden ist, das wiederum hat die Datei unendlich vergrößert.


Ja, das ist eines der größten Probleme der bedingten Formatierung (meiner Meinung nach). Also ihr löscht dann immer die gesamte Zeile, oder wird da auch mal ein bestehender Auftrag überschrieben?

Und jetzt mal ganz konkret zu der fraglichen Funktion Private Sub Worksheet_Change(ByVal Target As Range):

Wenn du in D eine Materialnummer reinschreibst, wird in W ein Kommentar hinterlegt, wenn die Materialnummer mit einer Nummer in deinem Makro übereinstimmt. Jetzt soll zusätzlich noch, wenn in X ein bestimmter Kunde steht, ein zusätzlicher Kommentar in W eingefügt werden? Hinter den von der Materialnummer sozusagen? Und zusätzlich wird die Zeile am Ende eingefärbt. Trifft das ungefähr zu?

Warum soll das mit dem Beleg drucken nicht in Spalte Z? Da stehen doch auch schon änliche Kommentare drin.

Ihr habt in diesem Sheet soviele unterschiedliche Bemerkungen in verschiedenen Spalten wovon zusätzlich manche per SVERWEIS gezogen werden und andere per Makro, da wäre es vielleicht sinnvoll, diese zu Standardisieren.

Aber alles zu seiner Zeit, erstmal das Change event in den Griff kriegen. Schreib doch nochmal was zu meinen Fragen zur Funktionsweise oben.
Antworten Top
#16
Hallo Janush,


Zitat:Also ihr löscht dann immer die gesamte Zeile, oder wird da auch mal ein bestehender Auftrag überschrieben?


In der Regel werden immer die Zellen B:Y: gelöscht in der es keine Formel gibt

Möglichkeit 2:
Wenn man die Spalte A einblendet und die Reihenfolge festlegt, kann man auch sortieren und die die raus fliegen löschen, dann die Formeln runterkopieren


Zitat:Wenn du in D eine Materialnummer reinschreibst, wird in W ein Kommentar hinterlegt, wenn die Materialnummer mit einer Nummer in deinem Makro übereinstimmt. Jetzt soll zusätzlich noch, wenn in X ein bestimmter Kunde steht, ein zusätzlicher Kommentar in W eingefügt werden? Hinter den von der Materialnummer sozusagen? Und zusätzlich wird die Zeile am Ende eingefärbt. Trifft das ungefähr zu?
 Das trifft nicht ungefähr zu, sondern genau das was ich will. Die Einfärbung ist nur in Abhängigkeit mit der Materialnummer in D erforderlich. 



Zitat:Warum soll das mit dem Beleg drucken nicht in Spalte Z? Da stehen doch auch schon änliche Kommentare drin.
Das Problem, das Programm wird ausgedruckt und im Betrieb verteilt da die Spalte Z nicht gedruckt wird weil das dann alles sehr klein wird wäre es schöner dies in W zu realisieren.

Grundsätzlich könnte ich mich auch mit Z anfreunden wenn das leichter ist.

Zitat:Ihr habt in diesem Sheet soviele unterschiedliche Bemerkungen in verschiedenen Spalten wovon zusätzlich manche per SVERWEIS gezogen werden und andere per Makro, da wäre es vielleicht sinnvoll, diese zu Standardisieren.

Ich bin für alles offen
Gruß
Dietmar

Damit das Mögliche entsteht, muß immer wieder das Unmögliche versucht werden.  
Antworten Top
#17
Hallo

ich bedauere sehr wenn mein Code nicht gut funktioniert und zuviele Fehler verursacht.  Wahrscheinlich auch dadurch, weil ich mir die Datei nicht heruntergeladen hatte, und den Code nicht im echten Einsatz getestet habe.  Liegt die Datei vor dann fallen einem sofort Fehler auf, die ich auf Grund der Aufgabenstellung nicht wissen konnte.

Beim einfügen von Text in Spalte W war mir nicht bekannt das dort schon wichtige Produktionshinweise stehen, die nicht gelöscht werden dürfen.  Dann kann man Spalte W auch schlecht für die Information "Beleg drucken" verwenden.  Das sollte dann bitte in einer neuen Spalte stehen, wenn in W schon Texte vorhanden sind wie:  "Carlex  KZ91 verwenden" oder "AJ2023DE (188 Blatt) abfahren", usw.

Klar das ich diese Text überschrieben habe, wenn in Spalte X "Aken" oder "Guardin" steht, und ich die Anweisung bekam das dann in W der Text "Beleg drucken" einzutragen ist. Ich konnte ja nicht ahnen das diese Spalte NICHT LEER ist!  Jetzt, durch die Beispieldatei, habe ich das natürlich verstanden.

Ich empfehle in alle Codes die mit Change arbeiten noch diese Änderung vorzunehmen, denn wenn man in D einen Eintrag macht, und wieder löscht, bleibt der Text in W bestehen! Das sollte nicht passieren. Ausserdem ist es sehr gefährlich eine Tabelle mit so vielen Formeln ohne Blattschutz für die Formelspalten zu verwenden. Wenn man einmal beim Tippen in die falsche Spalte kommt ist eine Formel weg.  Die Spalten für Eingaben oder Textänderungen müssen natürlich frei bleiben.

mfg  Gast 123

Code:
    If rng Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Target.Value = Empty Then Zelle.Offset(0, 19).Value = Empty
       
        For Each Zelle In rng
        Select Case Zelle.Value

Hinweis zu Set rng    Ich habe die For Next Schleife dringelassen, einen praktischen Nutzen hat sie nicht. Die Variable rng ist nur eine Zelle!  Da nützt For Next nichts!
Antworten Top
#18
Zitat:Was möchtest du sonst noch wissen oder wo siehst du Potenzial was zu verbessern?

Also alles kann nichts muss Smile fangen wir mal ganz einfach an. Ich habe nur ab und zu mal bisschen Zeit hier was zu schreiben, also machen wir es Schritt für Schritt.

Dein Select Case Konstrukt ist schonmal ganz gut. Hier könnte man drüber nachdenken die Informationen in eine eigene Tabelle auszulagern, damit mit jeder daran Änderungen vornehmen kann. So ähnlich wie du es mit den Stammdaten gemacht hast.

Auf jeden Fall würde ich dieses Select Case Konstrukt in eine eigene Sub ausgliedern. Vor allem da dieses in mehreren Change Events angesprochen wird. Im Change Event selber sollte dann nur die Steuerung untergebracht werden.

Also lege ein neues Modul an und schreibe folgenden Code da rein.

Code:
Option Explicit
Option Private Module

Public Sub BemerkungVonMaterialNrSchreiben(ByRef auftragsZeile As Range)

'Sub auf die Schneid Tabellen begrenzen
If InStr(1, auftragsZeile.Parent.Name, "Schneid", vbTextCompare) = 0 Then Exit Sub

Dim intIndex As Integer
Dim strText  As String

'auftragsZeile.Cells(2).Value  = Leergut
'auftragsZeile.Cells(4).Value  = Material Nummer
'auftragsZeile.Cells(23).Value = Bemerkungen

    Select Case auftragsZeile.Cells(4).Value
        'Rechts links
        Case "2069692": intIndex = 6: strText = "links rechts Markierung"
        Case "2068694": intIndex = 6: strText = "links rechts Markierung"
        Case "2069693": intIndex = 6: strText = "links rechts Markierung"
        Case "2061538": intIndex = 6: strText = "links rechts Markierung"
        Case "2061536": intIndex = 6: strText = "links rechts Markierung"
        Case "2070577": intIndex = 6: strText = "links rechts Markierung"
        Case "2073630": intIndex = 6: strText = "links rechts Markierung"
        Case "2079335": intIndex = 6: strText = "links rechts Markierung"
        Case "2060109": intIndex = 6: strText = "links rechts Markierung"
        Case "2068440": intIndex = 6: strText = "links rechts Markierung"
        Case "2067661": intIndex = 6: strText = "links rechts Markierung"
        Case "2066453": intIndex = 6: strText = "links rechts Markierung"
        Case "2072135": intIndex = 6: strText = "links rechts Markierung"
        Case "2065663": intIndex = 6: strText = "links rechts Markierung"
        Case "2073641": intIndex = 6: strText = "links rechts Markierung"
        Case "2073627": intIndex = 6: strText = "links rechts Markierung"
        Case "2073140": intIndex = 6: strText = "links rechts Markierung"
        Case "2074487": intIndex = 6: strText = "links rechts Markierung"
        Case "2073642": intIndex = 6: strText = "links rechts Markierung"
        Case "2073644": intIndex = 6: strText = "links rechts Markierung"
        Case "2081273": intIndex = 6: strText = "links rechts Markierung"
        Case "2072030": intIndex = 6: strText = "links rechts Markierung"
       
        'KZ48
        Case "2066150": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2068006": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2068007": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2068008": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2068009": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2069288": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2069289": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2069351": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2069352": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2069947": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2070379": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2070598": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2070599": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2070623": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2070627": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2071522": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2071617": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2071618": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2071619": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2071620": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2071621": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2071622": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2071636": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2071782": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2071830": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2072503": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2072504": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2073969": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2073972": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2074563": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2075364": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2076374": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2076815": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2077936": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2078006": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2078007": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2078213": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2078265": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2078266": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2078317": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2078377": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2078531": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2078646": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2078882": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2079639": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2079640": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2079703": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2079881": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2080309": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2081008": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2072507": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2072506": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"
        Case "2069353": intIndex = 6: strText = "Autoreflex nur Rohglas mit  KZ48 verwenden"

        Case "2079689": intIndex = 6: strText = "Super-Autoreflex nur Rohglas mit  KZ45 verwenden"

        Case "2075086": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075524": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075525": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075527": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075528": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075529": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075530": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075531": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075532": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075533": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075534": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075537": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075540": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075541": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075542": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075543": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075545": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075547": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075548": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2075555": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2076253": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2077595": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2077653": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2077812": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2077864": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2078112": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2079199": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2079712": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2079713": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2079715": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2079716": intIndex = 6: strText = "Carlex  KZ91 verwenden"
        Case "2084793": intIndex = 3: strText = "Mat. 2079712 verwenden KZ91"
        Case "2074158": intIndex = 3: strText = "Mat. 2079713 verwenden KZ91"
        Case "2074275": intIndex = 3: strText = "Mat. 2079715 verwenden KZ91"
        Case "2079187": intIndex = 3: strText = "Mat. 2079716 verwenden KZ91"
        Case "2085516": intIndex = 6: strText = "Carlex  KZ91 verwenden"

        'orange Paletten
        Case "2077050": intIndex = 0: auftragsZeile.Cells(2).Value = "Tampere (YF)": strText = "nur hohe orange Palette möglich"
        Case "2075410": intIndex = 0: auftragsZeile.Cells(2).Value = "Tampere (YF)": strText = "nur hohe orange Palette möglich"
        Case "2068610": intIndex = 0: auftragsZeile.Cells(2).Value = "Tampere (YF)": strText = "nur orange Palette möglich"
        Case "2077973": intIndex = 0: auftragsZeile.Cells(2).Value = "Solar (YS)": strText = "Solar Palette"
        Case "2073773": intIndex = 0: auftragsZeile.Cells(2).Value = "Tampere (YF)": strText = "nur orange Palette möglich"

        Case Else: intIndex = -4142: 'strtext = "" ' Spalte W leeren
    End Select
   
    'Prüfen ob text schon in Zelle vorhanden oder leer
    If Len(strText) > 0 And InStr(1, auftragsZeile.Cells(23).Value, strText, vbTextCompare) = 0 Then
        auftragsZeile.Cells(23).Value = auftragsZeile.Cells(23).Value & ", " & strText
    End If

End Sub

Hier passiert folgendes. Das Modul bekommt eine komplette Zeile in einer Tabelle als Referenz übergeben. Zuerst wird geschaut ob sich diese Zeile inerhalb einer Tabelle befindet, welche "Schneid" im Name hat. Wenn nicht gehen wir gleich wieder raus und machen nichts.

Dann gibt es nicht nur intIndex für die Farbe, sondern auch strText für den eigentlichen Bemerkungstext, welcher wir am Ende in die Zelle schreiben wollen. Da wir eine komplette Zeile übergeben bekommen, können wir einfach durch auftragsZeile.Cells(x) auf die einzelnen Spalten zugreifen - auftragsZeile.Cells(1) entspricht hier der Spalte A.

Dein Select Case bleibt unverändert, nur wird hier nicht direkt in die Zelle geschrieben, sondern der Text in einer Variable strText gespeichert (Ausnahme orange Palette).

Am Ende prüfen wir ob strText etwas enthält, also ob die Materialnummer gefunden wurde und ob der Text eventuell schon in W steht. Wenn etwas in strText drin ist und der Text noch nicht in W steht, wird strText an den in W bestehenden Text angehängt.

Das fängt schonmal ein paar Probleme ab, aber noch nicht alles. Z.B. was passiert, wenn ich erst eine Materialnummer mit "links rechts Markierung" eintrage und danach eine mit "Autoreflex nur Rohglas mit  KZ48 verwenden"? Dann habe ich die Bemerkungen beider Materialien in der Liste stehen. Darüm müssten wir uns später noch kümmern.

Jetzt bauen wir aber erstmal das Change Event neu auf. Für den Anfang ganz einfach. Ich würde auch vorschlagen alle Änderungen erstmal in einem Testworkbook zu vorzunehmen bis alles so funktioniert wie es soll.

Also, hier das Event wie es in die einzelnen Tabellen eingefügt werden muss.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    'Trigger range festlegen
    If Target.Column <> 4 Then Exit Sub
   
    'Materialnummer verarbeiten
    '(Übergabe der gesammten Zeile in der wir uns befinden)
    Call BemerkungVonMaterialNrSchreiben(Tabelle4.Rows(Target.Row))

End Sub

Das ist auch schon alles. Zuerst schauen wir ob die Änderung in der Spalte D vorgenommen wurde...wenn nein, tue nichts.

Wenn doch, dann rufe unsere neue Sub auf und übergebe eine genaue Referenz an die Zeile in welche wir die Materialnummer gerade eingegeben haben.

Jetzt haben wir schonmal etwas mehr Übersichtlichkeit reingebracht und können anfangen das Ganze zu erweitern.

Sag Bescheid, ob es soweit schonmal bei dir funktioniert und falls irgendwelche Fragen aufkommen.

Schöne Grüße
Antworten Top
#19
Hallo Gast 123, 
auch dir ein Danke für deine Hilfe und in keinster Weise zweifel ich an deinen Fähigkeiten, was VBA angeht und bin immer für jede Hilfe dankbar und das Leute ihre Freizeit für Probleme andere opfern.


Hallo Janush,
deine Ideen gefallen mir sehr gut und sind anwenderfreundlich, damit meine ich:


Zitat:Hier könnte man drüber nachdenken die Informationen in eine eigene Tabelle auszulagern, damit mit jeder daran Änderungen vornehmen kann. So ähnlich wie du es mit den Stammdaten gemacht hast.



Zur Umsetzung habe ich es so gemacht, wie du es beschrieben hast, hoffe ich zumindest.

1. Modul 2  Eingefügt und deinen Code 1 darin platziert
2. Private Sub Worksheet_Change(ByVal Target As Range) in den drei Tabellen mit dem Namen Schneid _.... gelöscht
3. Code 2 von dir dort eingefügt.

Der Code läuft nicht auf Fehler, aber Folgendes funktioniert nicht die Zeile wir bei entsprechender Materialnummer nicht nach dem vorgegebenen Farbindex eingefärbt, dann wurde in den einzelnen Tabellen in Spalte Y die entsprechende Line eingefügt, dies muss in deinen zweiten Code rein denke ich, habe ich an verschiedenen Stellen versucht, bekomme dann einen Debuggen

Ich denke das liegt daran das dieser Codeabschnitt in den Tabellen mit Schneid_.... nun fehlt

Code:
If Zelle.Value <> "" Then
            Zelle.Offset(0, 21).Value = "SM4"
        Else
            Zelle.Offset(0, 21).Value = "" ' Spalte Y leeren
        End If
        'Zelle.Offset(0, 19).Value = "Dein Text für Alle" 'hier bei immer gleichem Text
        Bereich.Rows(Zelle.Row - 4).Interior.ColorIndex = intIndex


Danke für die spannende Unterhaltung hier.

  
Gruß
Dietmar

Damit das Mögliche entsteht, muß immer wieder das Unmögliche versucht werden.  
Antworten Top
#20
Hallo

ich hatte mir auch mal Gedanken gemacht ob man sehr langenSelect Case  Code optisch verkürzen kann.  Hier ist mein Vorschlag dazu.
Ich möchte aber Janush nicht ins Handwerk pfuschen und halte mich an das zutreffend Sprichwort:   "viele Köche verderben den Brei ..."

Ich wünsche euch eine erfolgreiche Zusammenarbeit und klinke mich dann aus.  Der Code war mir aber zu schade ihn in die Mülltonne zu werfen.

mfg  Gast 123

Code:
        Select Case Zelle.Value
            'Rechts links
            Case "2069692", "2068694", "2069693", "2061538", "2061536", "2070577", "2073630", _
                  "2079335", "2060109", "2068440", "2067661", "2066453", "2072135", "2065663", _
                  "2073641", "2073627", "2073140", "2074487", "2073642", "2073644", "2081273", "2072030"
                 
                  intIndex = 6: Zelle.Offset(0, 19).Value = "links rechts Markierung"
           
            'KZ48
            Case "2066150", "2068006", "2068007", "2068008", "2068009", "2069288", "2069289", _
                 "2069351", "2069352", "2069947", "2070379", "2070598", "2070599", "2070623", _
                 "2070627", "2071522", "2071617", "2071618", "2071619", "2071620", "2071621", _
                 "2071622", "2071636", "2071782", "2071830", "2072503", "2072504", "2073969", _
                 "2073972", "2074563", "2075364", "2076374", "2076815", "2077936", "2078006", _
                 "2078007", "2078213", "2078265", "2078266", "2078317", "2078377", "2078531", _
                 "2078646", "2078882", "2079639", "2079640", "2079703", "2079881", "2080309", _
                 "2081008", "2072507", "2072506", "2069353"

                intIndex = 6: Zelle.Offset(0, 19).Value = "Autoreflex nur Rohglas mit  KZ48 verwenden"
           
           
            Case "2079689": intIndex = 6: Zelle.Offset(0, 19).Value = "Super-Autoreflex nur Rohglas mit  KZ45 verwenden"
           
            Case "2075086", "2075524", "2075525", "2075527", "2075528", "2075529", "2075530", _
                 "2075531", "2075532", "2075533", "2075534", "2075537", "2075540", "2075541", _
                 "2075542", "2075543", "2075545", "2075547", "2075548", "2075555", "2076253", _
                 "2077595", "2077653", "2077812", "2077864", "2078112", "2079199", "2079712", _
                 "2079713", "2079715", "2079716", "2084793", "2074158", "2074275", "2079187", "2085516"

                intIndex = 6: Zelle.Offset(0, 19).Value = "Carlex  KZ91 verwenden"
           
            'orange Paletten
            Case "2077050", "2075410", "2068610", "2077973", "2073773"
                intIndex = 0: Zelle.Offset(0, -2).Value = "Tampere (YF)": Zelle.Offset(0, 19).Value = "nur hohe orange Palette möglich"
           
            Case Else: intIndex = -4142: 'Zelle.Offset(0, 19).Value = "" ' Spalte W leeren
        End Select

Nachtrag   das ist der Codeteil aus der Tabelle Schneiden 4.  Ob die anderen gleich aufgebaut sind habe ich nicht geprüft?
[-] Folgende(r) 2 Nutzer sagen Danke an Gast 123 für diesen Beitrag:
  • DietmarD, Janush
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste