2011-10-04 09:18:12 +0000 2011-10-04 09:18:12 +0000
6
6

Come faccio a spostare la selezione verso il basso di una riga in Excel 2007?

C'è un modo per spostare un intervallo selezionato alla riga successiva?

Diciamo che ho selezionato “E9:H9” e voglio che la selezione si sposti su “E10:H10”. C'è una scorciatoia per farlo? La selezione non dovrebbe essere estesa ma spostata di una riga verso il basso.

Risposte (4)

12
12
12
2011-10-04 13:29:40 +0000

Sembra che tu abbia bisogno di qualcosa come questo:

Sub moveselection()

Selection.Offset(1, 0).Select

End Sub

Questo sposterà la tua selezione di una riga verso il basso senza cambiare la dimensione della selezione.

3
3
3
2011-10-05 05:56:01 +0000

(a) Quel codice non sposta verso il basso una riga come da domanda

(b) Funziona solo sulla prima riga di una selezione, vuoi che funzioni su una selezione a più righe?

© Piuttosto che chiamare una sub per questo potresti eseguirlo automaticamente cliccando con il tasto destro del mouse - puoi farlo aggiungendo il tasto destro del tuo foglio, Visualizza codice, e incollando il codice qui sotto

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    On Error Resume Next
    Range("E" & CStr(Selection.Row) & ":" & "GN" & CStr(Selection.Row)).Select
End Sub
1
1
1
2016-06-19 06:32:34 +0000

Un'alternativa che usa argomenti denominati, e quindi è molto più chiara, è qualcosa del genere.

ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate

Un rowOffset positivo sposta la selezione verso il basso del foglio, un rowOffset negativo sposta verso l'alto il numero di righe specificato, e un offset nullo lascia invariata la riga in cui risiede la selezione.

Allo stesso modo, gli offset positivi spostano la selezione a destra, mentre gli offset negativi la spostano a sinistra. Lo zero, naturalmente, lascia la colonna invariata.

Vedi Proprietà Range.Offset (Excel)

Due scoperte correlate possono anche interessare i futuri visitatori.

  1. Fate come segue per inserire una colonna. Selection.EntireColumn.Insert e fate attenzione a Range.Insert, che solleva l'errore di runtime 1004, almeno in alcune circostanze, come i fogli di lavoro protetti (anche con l'inserimento di colonne consentito mentre è protetto).
  2. Il metodo appena descritto lascia il punto di inserimento nella nuova colonna, cosa che non ho notato finché non sono venuto qui alla ricerca di un metodo per spostare la selezione (solo per scoprire che non ne avevo bisogno!).
0
0
0
2011-10-04 10:12:29 +0000

Ok,

Il cursore deve essere nella riga e gli intervalli “E” e “GN” devono essere regolati per colonne diverse, ma mi fa risparmiare un po’ di tempo:

Sub SelectRange()

  Dim RowNumber As Integer

  RowNumber = Selection.Row
  Range("E" & CStr(RowNumber) & ":" & "GN" & CStr(RowNumber)).Select

End Sub