Makro (Einschaltfläche) zum Ändern der Zeile, an der sich der Cursor befindet

441
Rainer

Ich möchte in der Lage sein, eine Schaltfläche auf einem Excel-Arbeitsblatt zu haben, den Cursor auf eine beliebige Zeile / Spalte des Arbeitsblatts zu setzen und auf die Schaltfläche zu klicken. Die gesamte durch die Cursor / Zeile definierte Zeile ändert sich (Farbfüllung und evtl. zu einem anderen vordefinierten Arbeitsblatt verschieben) ).

Kann mir jemand Hinweise geben?

-1
Was hast du schon probiert? Möchten Sie wissen, wie Sie einen Button in das Blatt einfügen? Befinden Sie sich im Teil "Code mit Farbe füllen oder verschieben"? Wo genau bist du dabei? Prasanna vor 8 Jahren 2

2 Antworten auf die Frage

0
Rainer

Es ist mir gelungen, diesen Code mithilfe von Beiträgen in diesem und in ähnlichen Foren zu erstellen. Da ich ein Anfänger von VBS bin, sieht dieser Code zwar kompliziert aus, er erfüllt jedoch das, was ich brauchte.

Ich habe 4 Blätter und 4 Knöpfe erstellt. Jedes Blatt enthält 3 Knöpfe. Mit jeder Schaltfläche können Sie eine Zeile ausschneiden, einfügen und einfärben, die zuvor mit einem Mausklick auf eine beliebige Zelle in der Zeile ausgewählt wurde. Die 3 Tasten beziehen sich auf die 3 anderen Blätter. Die Linien können sich also zwischen den 4 Blättern bewegen und werden entsprechend farbig dargestellt.

Sub Button2_Click() Application.ScreenUpdating = False  Dim strSheetName, strCellAddress As String strSheetName = ActiveSheet.Name strCellAddress = ActiveCell.Address(False, False)  Rows(ActiveCell.Row).Cut Sheets("Active").Select Range("A4").Rows("1:1").Insert Shift:=xlDown Range("A4").Interior.Color = RGB(0, 255, 0) Application.CutCopyMode = False  Range("A" & ActiveCell.Row).Select Sheets(strSheetName).Select Range(strCellAddress).Select  Rows(ActiveCell.Row).Delete  Application.ScreenUpdating = True End Sub 
Wenn dies die Antwort ist, markieren Sie es bitte als solche :) Dave vor 8 Jahren 0
-1
Sven

Sie können ActiveCell.Addressin Ihrem Makro verwenden, der die Adresse der aktuell ausgewählten Zelle oder eines anderen Attributs von zurückgibt ActiveCell.

Beispiel, um die gesamte Zeile der aktiven Zelle beim Klicken auf die Schaltfläche mit Rot zu füllen Button1:

Sub Button1_Click()  ActiveCell.EntireRow.Interior.Color = RGB(255, 0, 0)  End Sub 
Ich habe einen Button zugewiesen und erfolgreich die "ActiveCell.EntireRow.Interior.Color" verwendet. Ich bemühe mich, die Reihe auf ein anderes Blatt zu verschieben. Jeder Zeiger / jedes Beispiel würde helfen. Gibt es auch eine Befehlsreferenz, die Sie für die Suche nach anderen Befehlen empfehlen würden? Rainer vor 8 Jahren 0
Ich sollte hinzufügen, dass ich jetzt 4 Schaltflächen mit 4 verschiedenen Farben für Status 1 ... 4 erstellt habe. Die Idee ist nun, dass eine Zeile sofort zu einem bestimmten Blatt verschoben wird, das sich auf die Farbe der Zeilen bezieht, wenn die Farbe per Schaltfläche zugewiesen wird. Rainer vor 8 Jahren 0
Bitte klären Sie besser, was Sie erreichen wollen. Zeilen können nicht "sofort" zu einem "bestimmten" Blatt "bezogen auf ..." verschoben werden. Es ist sehr unscharf, was Sie sagen. Sven vor 8 Jahren 0