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