Tabla de contenido
Si busca algunas de las formas más sencillas de utilizar VBA Range Offset, entonces este artículo le merecerá la pena. Empecemos con las formas de utilizar la función VBA Desplazamiento de rango.
Descargar el cuaderno de ejercicios
Desplazamiento de rangos VBA.xlsm11 Maneras de Usar el Desplazamiento de Rango VBA
Tengo la siguiente tabla de datos que contiene información de algunos alumnos de un colegio. Utilizando este conjunto de datos, explicaré las formas de utilizar el VBA Desplazamiento de rango.
Para ello, he utilizado Microsoft Excel 365 puede utilizar cualquier otra versión según le convenga.
Método-1: Selección de una celda mediante el uso de VBA Rango
Aquí, seleccionaremos una celda que contenga el nombre Daniel Defoe. Para ello, utilizaremos el Función RANGE en VBA .
Paso-01 :
➤Ir a Desarrollador Tab>> Visual Basic Opción
Entonces, el Editor de Visual Basic se abrirá.
➤Ir a Inserte Tab>> Módulo Opción
Después de eso, un Módulo se creará.
Paso-02 :
➤Escribe el siguiente código
Sub SelectCell() Range("B8").Select End Sub
Seleccionará la celda B8 .
➤Prensa F5
Resultado :
De este modo, obtendrá la celda que contiene Daniel Defoe seleccionado.
Más información: Cómo utilizar el objeto Range de VBA en Excel
Método-2: Selección de un grupo de celdas contiguas mediante el uso de VBA Rango
Puede seleccionar un rango de celdas contiguas como el Nombre del alumno y la columna Resultado columna de la tabla siguiente siguiendo este método.
Paso-01 :
➤Seguir Paso-01 de Método 1
Sub ContiguousCells() Range("B5:C10").Select End Sub
Seleccionará las celdas de B5 a C10 .
➤Prensa F5
Resultado :
Después, obtendrá las celdas en Columna B y Columna C seleccionado.
Método-3: Selección de un grupo de celdas no contiguas mediante el uso de VBA Rango
Supongamos que desea seleccionar los alumnos denominados William David y Michael Anthony incluidos sus respectivos Dirección de correo electrónico Para seleccionar estas celdas no congruentes puede seguir este método.
Paso-01 :
➤Seguir Paso-01 de Método 1
Sub nonContiguous() Range("B6,D6,B9,D9").Select End Sub
Seleccionará las celdas B6 , D6 , B9, y D9 .
➤Prensa F5
Resultado :
A continuación, obtendrá las celdas que contienen el nombre del alumno William David , Michael Anthony, y sus respectivos Dirección de correo electrónico seleccionado.
Método-4: Selección de un grupo de celdas no contiguas y un rango mediante el uso de VBA Rango
Puede seleccionar un rango de celdas y algunas celdas no contiguas simultáneamente siguiendo este método.
Paso-01 :
➤Seguir Paso-01 de Método 1
Sub nonContiguouswithrange() Range("B5:B10,D6,D10").Select End Sub
Seleccionará el rango de celdas en el rango B5:B10 y las otras dos células D6 , D10 .
➤Prensa F5
Resultado :
A continuación, obtendrá las celdas de la columna Nombre del alumno y dos Correo electrónico para William David y Donald Paul seleccionado.
Método-5: Selección de un Rango mediante el Desplazamiento de Rango VBA
Puede seleccionar un rango de celdas en el Columna Nombre del alumno utilizando el Función OFFSET .
Paso-01 :
➤Seguir Paso-01 de Método 1
Sub selectrangeoffset() Range("A1:A6").Offset(4, 1).Select End Sub
Al principio, Rango("A1:A6") seleccionará la gama A1:A6 y luego Desplazamiento(4, 1) se moverá 4 filas hacia abajo desde la celda A1 y 1 columna a la derecha. A continuación, el mismo número de celdas del rango A1:A6 se seleccionará desde aquí.
➤Prensa F5
Resultado :
De este modo, seleccionará la columna Nombre del alumno .
Método 6: Desplazamiento negativo de rango VBA
Puede seleccionar el Columna Id. de correo electrónico siguiendo este método.
Paso-01 :
➤Seguir Paso-01 de Método 1
Sub negativerangeoffset() Range("F11:F16").Offset(-6, -2).Select End Sub
Al principio, Rango("F11:F16") seleccionará la gama F11:F16 y luego Desplazamiento(-6, -2) se moverá 6 filas hacia arriba desde la celda F11 y 2 columnas a la izquierda. Después, el mismo número de celdas en el rango F11:F16 se seleccionará desde aquí.
➤Prensa F5
Resultado :
A continuación, podrá seleccionar la columna Dirección de correo electrónico .
Lecturas similares:
- VBA para cada celda del rango en Excel (3 métodos)
- Cómo contar texto en Excel (7 trucos fáciles)
Método-7: Seleccionar un Rango con respecto a la Celda Activa
Aquí tenemos una célula activa (célula A1 ) y con respecto a esta celda, seleccionaremos el rango de datos en este método.
Paso-01 :
➤Seguir Paso-01 de Método 1
Sub actvcell() Range(activecell.Offset(4, 1), activecell.Offset(9, 3)).Select End Sub
Toma, activecell es A1
La primera parte activecell.Offset(4, 1) seleccionará una celda 4 filas hacia abajo y 1 columna a la derecha de la celda A1 y la segunda parte activecell.Offset(9, 3) seleccionará una celda 9 filas hacia abajo y 3 columnas a la derecha de la celda A1 .
Por último, se seleccionarán todas las celdas entre estas dos celdas.
➤Prensa F5
Resultado :
A continuación, podrá seleccionar todo el intervalo de datos.
Método 8: Copiar un intervalo
Si desea copiar un rango de celdas, puede seguir este método.
Paso-01 :
➤Seguir Paso-01 de Método 1
Sub copyrangeoffset() Range("A1:A6").Offset(4, 1).Copy End Sub
Al principio, Rango("A1:A6") seleccionará la gama A1:A6 y luego Desplazamiento(4, 1) se moverá 4 filas hacia abajo desde la celda A1 y 1 columna a la derecha. A continuación, el mismo número de celdas del rango A1:A6 se seleccionará desde aquí.
Por último, copiará los valores del intervalo B5:B10 .
➤Prensa F5
Resultado :
A continuación, podrá copiar el intervalo de datos en el archivo Columna Nombre del alumno .
Método 9: Borrar un intervalo
A continuación, mostraremos la forma de eliminar un rango de datos utilizando VBA código.
Paso-01 :
➤Seguir Paso-01 de Método 1
Sub dltrangeoffset() Range("F11:F17").Offset(-7, -2).Delete End Sub
En primer lugar, Rango("F11:F17") seleccionará la gama F11:F17 y luego Desplazamiento(-7, -2) se moverá 7 filas hacia arriba desde la celda F11 y 2 columnas a la izquierda. Después, el mismo número de celdas en el rango F11:F17 se seleccionará desde aquí.
Por último, eliminará el rango D4:D10 .
➤Prensa F5
Resultado :
De este modo, copiará el intervalo de datos en el archivo Columna Id. de correo electrónico .
Método-10: Utilizar el Desplazamiento de Rango VBA para Introducir un Valor
Aquí, tenemos una celda vacía (hemos eliminado el valor de esta celda para explicar este método) en la tabla Columna Nombre del alumno y queremos rellenarlo con el nombre Joseph Michael Utilizando un VBA podemos introducir fácilmente este valor.
Paso-01 :
➤Seguir Paso-01 de Método 1
Sub valuerangeoffset() Range("A1").Offset(6, 1).Value = "Joseph Michael" End Sub
En primer lugar, Rango("A1") seleccionará la celda A1 y luego Desplazamiento(6, 1) se moverá 6 filas hacia abajo desde la celda A1 y 1 columna a la derecha. Después, la celda B7 y, por último, introducirá el valor "Joseph Michael" en esta célula.
➤Prensa F5
Resultado :
De este modo, obtendrá el nombre Joseph Michael en celda B7 .
Método-11: Utilizar el Desplazamiento de Rango VBA para Obtener la Salida
Supongamos que desea escribir Aprobado o Falta de correspondencia a los nombres de los alumnos en función de la Columna de resultados donde Pase o Falla se ha escrito entre corchetes. Para encontrar esta subcadena en el archivo Columna de resultados y anótelo en el Columna Aprobado/Suspenso siga este método.
Paso-01 :
➤Seguir Paso-01 de Método 1
Sub CheckSubstring() Dim cell As Range For Each cell In Range("C5:C10") If InStr(cell.value, "Pass")> 0 Then cell.Offset(0, 1).value = "Passed" Else cell.Offset(0, 1).value = "Failed" End If Next cell End Sub
Aquí, el rango de celdas C5:C10 es seleccionado por Rango("C5:C10") que es el Columna de resultados
InStr(cell. value, "Pass")> 0 es la condición en la que el número es mayor que cero (cuando la celda contiene "Pass" ) entonces la siguiente línea continuará y dará la salida en la celda adyacente como Aprobado Aquí, la celda adyacente será seleccionada por cell.Offset(0, 1) lo que significa que se moverá 1 columna a la derecha de la celda de entrada.
Si la condición se convierte en falsa significa que una celda no contiene ningún "Pass" entonces la línea bajo Si no se ejecutará y dará el valor de salida en la celda adyacente como Fallido .
Este bucle continuará para cada celda.
➤Prensa F5
Resultado :
A continuación, obtendrá los resultados Aprobado o suspenso en el Aprobado/Suspenso columna.
Sección práctica
Para hacer prácticas por su cuenta hemos proporcionado un Práctica en una hoja denominada Práctica Por favor, hazlo tú mismo.
Conclusión
En este artículo, he tratado de cubrir las formas más fáciles de utilizar VBA Espero que te resulte útil. Si tienes alguna sugerencia o pregunta, no dudes en compartirla con nosotros.