Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sortieren, Kopieren, Schutz; Makro fuer alle

Sortieren, Kopieren, Schutz; Makro fuer alle
07.02.2006 18:30:04
Markus
Hallo Forum!
Im Folgenden stelle ich der Allgemeinheit mein Makro zur Verfuegung.
Ich hab's nur mit eurer Hilfe und dem Recorder zusammengezimmert und es laeuft.
Schoen gell?!
Deshalb geize ich jetzt mal nicht mit gewonnenem Wissen und riskiere, dass ich mich blamiere...;-)
Aufgabe des Makros ist Folgendes:
Sortieren markierter Zeilen, uebernehmen von gewonnenen Berechnungen als neue Ausgangssituation, ueberschreiben der markierten Zeilen durch die nichtmarkierten und Schnittmengenabfragen als Schutz der Blattbereiche die durch den Anwender nicht veraendert werden sollen.
Ich weiss es ist wohl etwas holprig und vermutlich auch nicht sehr elegant, da es aber laeuft und ich blutiger Anfaenger in VBA bin, bin ichs zufrieden...:-)
Wer von den Profis Lust hat sich reinzudenken und evtl. Verbesserungen vorzuschlagen, nur zu, ich freue mich ueber Feedback und weitere Tipps!
Ansonsten noch mal Dank allen die mir geholfen haben!
Ciao,
Markus
Hier das Makro:

Sub CC_RipresaSaldo()
' CC_RipresaSaldo Macro
' Macro registrata il 06/02/2006 da MR
If Range("G10:G600").Text = "" Then 'Prueft ob Zellen leer sind, wenn leer kommt Meldung
MsgBox "Mettere spunta nelle celle G10:G600 e ORDINA prima!"
Exit Sub
End If ' wenn Zelle/Zellen markiert, laeuft das Makro
Set SMenge = Application.Intersect(Range("A11:G600"), Range(ActiveCell.Address)) 'Prueft ob aktuelle Zelle im Bereich liegt
If SMenge Is Nothing Then
MsgBox "Mettere cursore nelle celle A11:G600!" 'Meldung
Exit Sub
End If 'Wenn aktuelle Zelle im Bereich, startet Makro!
Application.ScreenUpdating = False
Range("A10:G600").Select
Range("G600").Activate
Selection.Sort Key1:=Range("G600"), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("G65536").End(xlUp).Offset(0, 1).Select
Range("G65536").End(xlUp).Offset(0, 1).Select 'Letzte verwendete Zelle waehlen und Zelle Rechts aktivieren
Selection.Copy ' Kopieren der aktivierten Zelle
Range("H9").Select ' Zelle H9 aktivieren
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False 'Wert einfuegen
Range("G65536").End(xlUp).Offset(0, -6).Select 'Letzte verwendete Zelle waehlen und Zelle links (-6)aktivieren
Selection.Copy 'etc.
Range("A9").Select 'etc.
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("G65536").End(xlUp).Offset(1, -6).Select 'unterhalb der letzten markierten Reihe erste Zelle Spalte A aktivieren
Range(Selection, Selection.Offset(600, 6)).Copy ' Bereich bis Zeile 600 darunter kopieren
Range("A10").Select 'erste Anwender-Zelle aktivieren
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False ' Werte einfuegen
Application.CutCopyMode = False
Range("A1").Select
Application.ScreenUpdating = True
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren, Kopieren, Schutz; Makro fuer alle
07.02.2006 20:56:22
Uduuh
Hallo,
schön, dass du zufrieden mit dir (und uns) bist.
Aber mit den vielen Select und Activate wirst du hier niemanden begeistern. Es geht auch ohne.
Gruß aus’m Pott
Udo

erledigt
10.02.2006 15:30:09
Markus
E
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige