Come usare il comando range per selezionare un intervallo


0

Ho un intervallo che devo selezionare. Le regioni superiori dell'intervallo sono A2 che posso ottenere usando il seguente comando:

Cells(2, 1)

L'intervallo più basso, posso ottenere usando i seguenti comandi -

Cells(Rows.Count, 1).End(xlUp).Row
Cells(5, Columns.Count).End(xlToLeft).Column

Come posso combinare il comando di tutte le mie celle in qualcosa che la gamma selezionerà?

Provai

range=(cells(2,1)),(Cells(Rows.Count, 1).End(xlUp).Row),(Cells(5, Columns.Count).End(xlToLeft).Column).select 

ma ottengo un errore di formato.

Risposte:


2

Ricorda Cells(Rows.Count, 1).End(xlUp).Row restituisce un intero

e

Cells(5, Columns.Count).End(xlToLeft).Column restituisce un intero.

Quindi hai bisogno Cells(integer,integer).

Come sta ora il tuo si legge range(A2),integer,integer.select.

Non usi select e se hai intenzione di usare due interi, devi avvolgerlo in una cella (). E l'intera cosa nel raggio d'azione ().

 Set rng = Range(Cells(2, 1), Cells((Cells(Rows.Count, 1).End(xlUp).Row), (Cells(5, Columns.Count).End(xlToLeft).Column)))

Un modo migliore per farlo sarebbe

Sub test()
Dim rng As Range
Dim lastrow As Integer
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
Dim lastcol As Integer
lastcol = Cells(5, Columns.Count).End(xlToLeft).Column

 Set rng = Range(Cells(2, 1), Cells(lastrow, lastcol))

End Sub

Ora, non hai motivo di farlo select la tua gamma - funziona solo con rng direttamente.


questo è esattamente quello che stavo cercando. ha funzionato perfettamente. e grazie per il tutorial, anche questo ha aiutato.
DanM

@ Dan felice di aver potuto aiutare. Se la tua domanda ha una risposta, fai clic sul segno di spunta verde per contrassegnare la domanda come risolta.
Raystafarian
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.