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.

unterschiedliche Sortierreihenfolgen speichern
#11
Ich habe die Schaltflächen in die jeweils 1. Zeile der Tabellenblätter verfrachtet. Die Makros musste ich pro Blatt einzeln erstellen. Schaltflächen beschriftet, Makros zugewiesen, als .xlsm speichern. 

Funktionier tadellos! Ich kann jetzt zack zack umsortieren.

Vielen Dank für Eure Hilfe am Sonntagnachmittag.
Antworten Top
#12
Hi,

(04.07.2017, 20:22)Wodan schrieb: Die Makros musste ich pro Blatt einzeln erstellen.

das glaube ich nicht unbedingt.
Das hängt von diversen Parametern ab.

Poste doch einfach mal so ein paar Makros, vielleicht können wir sie zusammenfassen.
Antworten Top
#13
(02.07.2017, 19:02)GMG-CC schrieb: Den Bereich, den du da beschreibst, meine ich nicht. Das ist der Schnellzugriff.
Und da kannst du "fertige" Menü-Befehle noch einmal ablegen (für den schnellen Zugriff) oder auch Makros, die allgemein gültig sind und ein Symbol aus einer gegebenen Bibliothek (vielleicht auch andere?) zugewiesen bekommen haben.
Die Buttons, Shapes, … kannst nicht dorthin platzieren.
Ich finde, die gehören in das jeweilige Arbeitsblatt.

Ich möchte die Makros doch in den Schnellzugriff mit Symbolen legen. Der Vorgang ist mir auch soweit klar, aber ich habe immer noch das Problem, dass die von mir erstellten Makros nur für ein Tabellenblatt anwendbar sind. Will ich das Makro auf einem anderen Blatt anwenden kommt die Fehlermeldung: Laufzeitfehler 1004  Die Select Methode des Ranges Objektes konnte nicht ausgeführt werden. 
Das Makro darf sich also nicht nur auf das Tabellenblatt "Sägeliste Fräsen" beziehen, sondern auch auf das andere Blatt "Sägeliste Drehen", oder muss ganz allgemein gehalten sein. Nur wie erstelle ich ein allgemeingültiges Makro?



Code:
Sub FräsenNormal()
'
' FräsenNormal Makro
'

'
    Cells.Select
    Range("G11").Activate
    ActiveWorkbook.Worksheets("Sägeliste Fräsen").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sägeliste Fräsen").Sort.SortFields.Add Key:=Range( _
        "U2:U3681"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sägeliste Fräsen").Sort.SortFields.Add Key:=Range( _
        "C2:C3681"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sägeliste Fräsen").Sort.SortFields.Add Key:=Range( _
        "N2:N3681"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sägeliste Fräsen").Sort.SortFields.Add Key:=Range( _
        "O2:O3681"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortTextAsNumbers
    ActiveWorkbook.Worksheets("Sägeliste Fräsen").Sort.SortFields.Add Key:=Range( _
        "P2:P3681"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sägeliste Fräsen").Sort.SortFields.Add Key:=Range( _
        "Q2:Q3681"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sägeliste Fräsen").Sort.SortFields.Add Key:=Range( _
        "R2:R3681"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sägeliste Fräsen").Sort.SortFields.Add Key:=Range( _
        "S2:S3681"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Sägeliste Fräsen").Sort
        .SetRange Range("A1:IX3681")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("A2").Select
End Sub
Antworten Top
#14
Strg-D kann blatt-individuell funktionieren, auch wenn es mappen-weit gilt. Es muss nur abfragen, welches Blatt aktiv ist, und dann in die zugehörige Routine verzweigen.
Antworten Top
#15
Hi,

(12.09.2017, 22:33)Wodan schrieb: Das Makro darf sich also nicht nur auf das Tabellenblatt "Sägeliste Fräsen" beziehen, sondern auch auf das andere Blatt "Sägeliste Drehen", oder muss ganz allgemein gehalten sein. Nur wie erstelle ich ein allgemeingültiges Makro?

dann weise doch den Sheet-Namen einer Variablen zu und verwende die Variable entsprechend:
Option Explicit

Sub FräsenNormal()
  '
  ' FräsenNormal Makro
  '
  Dim strBlatt As String
  '
 
  strBlatt = ActiveWorkbook.ActiveSheet.Name
 
  Cells.Select
  Range("G11").Activate
  With ActiveWorkbook.Worksheets(strBlatt)
     .Sort.SortFields.Clear
     .Sort.SortFields.Add Key:=Range("U2:U3681"), SortOn:=xlSortOnValues, _
     Order:=xlAscending, DataOption:=xlSortNormal
     .Sort.SortFields.Add Key:=Range("C2:C3681"), SortOn:=xlSortOnValues, _
     Order:=xlAscending, DataOption:=xlSortNormal
     .Sort.SortFields.Add Key:=Range("N2:N3681"), SortOn:=xlSortOnValues, _
     Order:=xlAscending, DataOption:=xlSortNormal
     .Sort.SortFields.Add Key:=Range("O2:O3681"), SortOn:=xlSortOnValues, _
     Order:=xlAscending, DataOption:=xlSortTextAsNumbers
     .Sort.SortFields.Add Key:=Range("P2:P3681"), SortOn:=xlSortOnValues, _
     Order:=xlAscending, DataOption:=xlSortNormal
     .Sort.SortFields.Add Key:=Range("Q2:Q3681"), SortOn:=xlSortOnValues, _
     Order:=xlAscending, DataOption:=xlSortNormal
     .Sort.SortFields.Add Key:=Range("R2:R3681"), SortOn:=xlSortOnValues, _
     Order:=xlAscending, DataOption:=xlSortNormal
     .Sort.SortFields.Add Key:=Range("S2:S3681"), SortOn:=xlSortOnValues, _
     Order:=xlAscending, DataOption:=xlSortNormal
     With .Sort
        .SetRange Range("A1:IX3681")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
     End With
  End With
  Range("A2").Select
End Sub
oder verwende gleich das ActiveSheet:
Option Explicit

Sub FräsenNormal()
   ' 
   ' FräsenNormal Makro 
   ' 
   ' 
   
   Cells.Select
   Range("G11").Activate
   With ActiveWorkbook.ActiveSheet
      .Sort.SortFields.Clear
      .Sort.SortFields.Add Key:=Range("U2:U3681"), SortOn:=xlSortOnValues, _
          Order:=xlAscending, DataOption:=xlSortNormal
      .Sort.SortFields.Add Key:=Range("C2:C3681"), SortOn:=xlSortOnValues, _
          Order:=xlAscending, DataOption:=xlSortNormal
      .Sort.SortFields.Add Key:=Range("N2:N3681"), SortOn:=xlSortOnValues, _
          Order:=xlAscending, DataOption:=xlSortNormal
      .Sort.SortFields.Add Key:=Range("O2:O3681"), SortOn:=xlSortOnValues, _
          Order:=xlAscending, DataOption:=xlSortTextAsNumbers
      .Sort.SortFields.Add Key:=Range("P2:P3681"), SortOn:=xlSortOnValues, _
          Order:=xlAscending, DataOption:=xlSortNormal
      .Sort.SortFields.Add Key:=Range("Q2:Q3681"), SortOn:=xlSortOnValues, _
          Order:=xlAscending, DataOption:=xlSortNormal
      .Sort.SortFields.Add Key:=Range("R2:R3681"), SortOn:=xlSortOnValues, _
          Order:=xlAscending, DataOption:=xlSortNormal
      .Sort.SortFields.Add Key:=Range("S2:S3681"), SortOn:=xlSortOnValues, _
          Order:=xlAscending, DataOption:=xlSortNormal
      With .Sort
         .SetRange Range("A1:IX3681")
         .Header = xlYes
         .MatchCase = False
         .Orientation = xlTopToBottom
         .SortMethod = xlPinYin
         .Apply
      End With
   End With
   Range("A2").Select
End Sub
Antworten Top
#16
Smile 
Danke für die Unterstützung hier.
Danke Ralf. 
ActiveSheet  :19:

Ich habe die Zeilen per Hand angeglichen und das hat in meiner Testdatei relativ schnell geklappt. 
In den nächsten Tagen muss ich die Makros nochmal neu aufnehmen und bin guter Dinge, dass ich alles nach Wunsch hin bekomme.

Gruß
Jürgen
Antworten Top


Gehe zu:


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