0% encontró este documento útil (0 votos)
66 vistas7 páginas

Macros de Excel: Copiar y Ciclos

Este documento contiene varios ejemplos de código VBA para realizar operaciones comunes en Excel como copiar valores entre celdas usando bucles, seleccionar filas y columnas, limpiar contenido, usar cajas de texto vinculadas e ingresar valores de usuario, y asignar variables a celdas. Los ejemplos muestran cómo manipular hojas, celdas, rangos y valores usando VBA para automatizar tareas en Excel.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
66 vistas7 páginas

Macros de Excel: Copiar y Ciclos

Este documento contiene varios ejemplos de código VBA para realizar operaciones comunes en Excel como copiar valores entre celdas usando bucles, seleccionar filas y columnas, limpiar contenido, usar cajas de texto vinculadas e ingresar valores de usuario, y asignar variables a celdas. Los ejemplos muestran cómo manipular hojas, celdas, rangos y valores usando VBA para automatizar tareas en Excel.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Copiar valores de una celda a otra con bucle

'

Sub ejemplo2()

' Primero definimos la ubicación de la celda b7

filaactual = 7 ' su fila

columnaactual = 2 ' su columna

' segundo,debemos seleccionar la celda b7

' damos nombre a nuestra celda B7

valordeb7 = Cells(filaactual, columnaactual)

' ahora para que la fila se recorra a la fila 8 creamos un bucle

filaactual = filaactual + 1

' +1 porque 7+1=8 y se recorrerá a la fila 8

' ahora seleccionamos la celda 8 con la nueva filaactual=8

' y la igualamos a el valor deb7, que es el valor que hay en la celda b7

Cells(filaactual, columnaactual) = valordeb7

' y pim pam pum

End Sub

Copiar el valor de una celda a una celda activa cualquiera


'

Sub ejemplo3()

' continuando con la selección de celdas

' active cell permite definir funciones y tomar datos de la celda donde

' esta el cursor, es decir en la celda que hallamos escogido

' lo primero que hace la macro es ir a la hoja 1

Sheets("hoja2").Select

' ahora se define la variable loquehay como la celda a3


' el valor que hay en la celda a3 irá a la variable loque hay

loquehay = Range("a3")

' ahora la celda activa, que es donde está el cursor tendrá el valor

' de la celda a3

ActiveCell = loquehay

End Sub

Seleccionar filas y columnas, también eliminar todo el contenido de una


hoja

Sub macro1()

' selección de filas

Range("6:11,16:19").Select

' selección de columnas

Columns("A:C").Select

' eliminar todo el contenido de una hoja

[Link]

[Link]

End Sub

Copiar valores de una celda a otra directamente


Sub pruebacopiarvalores()

Cells(23, 6).Select

valoracopiar = ActiveCell

Cells(28, 8) = valoracopiar

End Sub
Prueba de ciclo FOR con valor inicial y final

Sub pruebafor()

valoramarillo = Cells(16, 2) ' celda donde estará el valor inicial del rango

valornaranja = Cells(26, 2) ' celda donde estará el valor final del rango

' definiendo el bucle desde la celda

For rango = valoramarillo To valornaranja

' para el rango desde el inicial al final

' seleccionando la celda donde se copiarán los valores del rango

' desde el inicio hasta el final del rango

Cells(rango, 3).Select ' celdas de ubicación

ActiveCell = Val(rango) ' valores en las celdas de ubicación

'ahora seleccionamos las celdas donde estarán los resultados

Cells(rango, 4).Select ' celdas de ubicación donde estarán los resultados

ActiveCell = rango * 1000 ' operación que se harán con los valores del

' rango

' una vez terminadas las operaciones pasar al siguiente

Next rango

Range("E10").Select ' y terminar en E16

End Sub

' en este código sólo hace operaciones con el contador, con el rango

'no con los valores que queramos para un rango determinado

' ojo, no se deben insertar filas o columnas, arruinarían todo el código

Caja de texto vinculada a la hoja de cálculo, condicional y ciclo for


Sub calculo()

' es la primera hoja de cálculo con un textbox


'primero seleccionamso el rango de celdas

' que se van a eliminar todos los valores

Range(Cells(1, 1), Cells(10, 2)).ClearContents

' seleccionamos desde la celda 11 hasta la celda 10,2

' formaría un rectángulo verdad? correcto

' creamos un mensaje

mensaje1 = "Introudzca un número del 1 al 10"

' le damos un título a nuestro textbox

titulo1 = "Cuadro en entrada 1"

' definimos el valor por defecto que aparecerá en la caja de texto

estandar1 = 1

' ahora definimos nuesto textbox

' valoruno será nuestro textbox

' a este texbox le damos un mensaje1, título y

valoruno = InputBox(mensaje1, titulo1, estandar1)

' esos son todos los componentes que son necesarios para nuestro

' textbox

'ahora una vez que hallamos introducido un número del 1 al 10

' naturalmente apretaremos ENTER

' después de haber oprimido ENTER debemos volver al textbox

volver1: ' asignamos volver1 con:

'ahora que ya volvimos al textbox

' definimos un nuevo mensaje,un nuevo título y un valor final

' para nuestro textbox

' un valor que sea el limite entre 1 y 10

mensaje2 = "introduzca un número del 1 a 10 mayor que la entrada anterior"

titulo2 = "cuadro de entrada2"


'es decir números hasta no mayores que 10

estandar2 = 10

' ahora definimos nuestro textbox y le atribuimos el nuevo

' mensaje, título y estandar10

valordos = InputBox(mensaje2, titulo2, estandar2)

' ahora colocamos condiciones

' si el valor absoluto de valordos es mayor a 10 entonces volvemos

' al textbox1 que se llama volver1

If Abs(valordos) > 10 Then GoTo volver1

' si el valordos es menor al valor de valordos entonces volver al

' textbox1

If Abs(valordos) < Abs(valoruno) Then GoTo volver1

' ya terminamos con las cajas de texto, ahora vamos a los

' cálculos de la hoja excel

' definimos la variable cantidad como un rango de valores

'para la variable cantidad, va desde el valoruno hasta el valordos

For cantidad = valoruno To valordos

' es decir desde valoruno a valordos

' los valores entre valoruno y valordos

' ya definimos el rango

' ahora definimos las celdas con las que se haran las operaciones

' la celda (valoruno, columna1)

Cells(cantidad, 1).Select

' la celda activa es igual al valor que hay en la variable cantidad


ActiveCell = Val(cantidad)

' ahora definimos las celdas en las que se haran operaciones y

' se arrojarán resultados

Cells(cantidad, 2).Select

' la celda activa será igual a la operacion que sigue

ActiveCell = Log(cantidad) / Log(10)

' todo eso para el primer valoruno

' ahora con next se irá al siguiente valor dentro del rango

Next cantidad

' ahora para finalizar, el cursor se localizará en la celda a1

Range("a1").Select

End Sub

Asignación de variables a celdas


Sub entradadatos()

' asignación de variables a celdas

Sheets("Hoja2").Select

' de forma alterna definimos las filas y columnas

' a variables

filaactual = 7

columnaactual = 2

'definiendo la celda con filas y columnas

Cells(filaactual, columnaactual).Select

' el valor que haya en la celda se irá a la variable

' fechaaux

fechaaux = ActiveCell
' ahora la fila actual la recorremos a una sola

filaactual = filaactual + 1

' si estabamos en la fila 7 ahora nos vamos a a la fila 8

' la nueva filaactual será 8

' ahora definimos la nueva celda donde estará

' la nueva celda pero mantenemos la columna

' le decimos que seleccione la celda

Cells(filaactual, columnaactual).Select

' ahora la decimos que la nueva celda será igual

' al valor de fechaaux, la variable

Cells(filaactual, columnaactual) = fechaaux

' para finalizar el cursor le decimos que se estacione

' en la celda 11,3

Range("D11").Select

End Sub

También podría gustarte