2012-04-12 11 views
2

Dies scheint wie eine einfache Sache, aber ich kann es nicht herausfinden, oder finde es online.Lock Select Box Größe In Excel

Wenn ich 5 Zellen in einer Spalte (sagen A1: A5) auswählen, und ich möchte diese Auswahlform (Spalte 1: 5) über (zu B1: B5) verschieben; Gibt es eine Verknüpfung, um dies zu tun? Momentan drücke ich den linken Pfeil, und die Auswahlbox ändert die Größe auf nur B1, und ich muss Shift drücken und B2: B5 wählen. Idealerweise möchte ich einen Hotkey finden, der die Form der Auswahlbox "sperrt".

Es wurde von Kollegen vorgeschlagen, ein Makro zu schreiben, aber das ist in vielen Fällen unwirksam. Was wäre zum Beispiel, wenn ich statt einer Spalte dasselbe mit einer Reihe oder mit einer anderen Größe machen wollte. Es scheint wahrscheinlich, dass Excel diese Funktion eingebaut hat.

+1

Diese Frage ist besser für http://superuser.com/, aber egal - nein, es gibt keine eingebaute Funktion, mit der Sie Ihre Auswahl verschieben können. Dazu benötigen Sie ein Makro - oder eher 4 ähnliche Makros für jede Richtung. – Alain

+0

Related: http://superuser.com/questions/238449/how-to-move-selection-in-excel Jemand fragte die gleiche Frage, aber die Antwort, die sie erhielten, war falsch. – Alain

Antwort

0

Ich bin mir nicht sicher, wie ein Makro wäre unwirksam. Ich würde Prozeduren schreiben, die ähnlich wie unten sind, und dann Hotkeys zuweisen. Lass es mich wissen, wenn es für dich funktioniert.

Option Explicit 

Public rowDim As Long 
Public colDim As Long 
Public putSel as Boolean 

Sub togglePutSel() 

putSel = Not putSel 

End Sub 


Sub GetSelShape() 

rowDim = Selection.Rows.Count 
colDim = Selection.Columns.Count 
putSel = True 

End Sub 

Sub PutSelShape() 

Selection.Resize(rowDim, colDim).Select 

End Sub 

Wenn Sie möchten, dass es funktioniert, wann immer Sie die Pfeiltasten drücken, dann können Sie dies in Ihrem Sheet-Code verwenden. Möglicherweise möchten Sie schnell überprüfen, dass rowDim und colDim nicht 0 sind. Das einzige Problem dabei ist, dass Sie mit diesem Verhalten nicht weiterkommen würden, es sei denn, Sie erstellen einen Auslöser, um den Aufruf von PutSelShape zu beenden. Also würde ich ein Makro (hotkeyed auf GetSelShape) vorschlagen, um es umzuschalten, und einen anderen Hotkey für togglePutSel.

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

If putSel Then 
    Call PutSelShape 
End If 

End Sub 
+0

Zur Verdeutlichung: Sie können 'GetSelShape' zu ​​Ctrl + m und' togglePutSel' zu Ctrl + Shift + M zuweisen. Standardmäßig ist 'putSel' falsch. Ich fand, dass es wirklich gut funktioniert. – Zairja