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.