For con 2 condiciones e if con 2 variables [Resuelto/Cerrado]

Publicaciones
8
Fecha de inscripción
lunes, 15 de febrero de 2016
Estatus
Miembro
Última intervención
viernes, 19 de febrero de 2016
- - Última respuesta: andresko
Publicaciones
8
Fecha de inscripción
lunes, 15 de febrero de 2016
Estatus
Miembro
Última intervención
viernes, 19 de febrero de 2016
- 16 feb 2016 a las 00:16
Hola estoy programando macros en mi practica profesional y necesito ayuda para hacer correr este codigo, no se si es posible hacer funcionar un for o un if , con tantas condiciones pero si alguien me ayuda se lo agradeceria mucho. :D

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$B$1" Then

For k = 12 And i = 18 And j = 2 To 100

If Cells(k, i) = Cells(1, 2) Then
Cells(3, j) = Cells(k, 1)
Cells(4, j) = Cells(k, 9)
Cells(5, j) = Mid(Cells(10, i), 11, 2)
Cells(6, j) = Cells(k, 13)
Cells(7, j) = Cells(k, i + 2)
End If

Next
End If
End Sub
Ver más 

2 respuestas

Mejor respuesta
Publicaciones
18
Fecha de inscripción
jueves, 11 de febrero de 2016
Estatus
Miembro
Última intervención
lunes, 15 de febrero de 2016
9
1
Gracias
Buen día Andresko.
Veo que tu codigo tiene unos errores de sintaxis.

para hacer un for anidado debes seguir la siguiente sintaxis.

For i=1 to 100
For j=1 to 100

Aqui pones tu if que hara la comparacion y se hara un proceso deacuerdo al valor que regrese el if

IF condicion THEN
se cimple
ELSE
no se cumple
END IF

next j
next i

Seria bueno que pusieras que condiciones se deben cumplir para los procesos y para los ciclos.

Saludos.

Deja un "Gracias" 1

Unas palabras de agradecimiento nunca están de más. Deja tu comentario

CCM 18197 usuarios nos han dicho gracias este mes

andresko
Publicaciones
8
Fecha de inscripción
lunes, 15 de febrero de 2016
Estatus
Miembro
Última intervención
viernes, 19 de febrero de 2016
-
Hola gili_sb_8712, Gracias por tu ayuda arregle el codigo de esta manera:


Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$B$1" Then
For k = 12 To 100
For i = 18 To 100
For j = 2 To 100
If Cells(k, i) = Cells(1, 2) Then
Cells(3, j) = Cells(k, 1)
Cells(4, j) = Cells(k, 9)
Cells(5, j) = Mid(Cells(10, i), 11, 2)
Cells(6, j) = Cells(k, 13)
Cells(7, j) = Cells(k, i + 2)
Else
End If
Next k
Next i
Next j
End If
End Sub

pero al correrlo me dice
error de compilación:
Referencia de variable de control next no valida
y me marca en azul la letra k
podrias guiarme un poco mas por favor
Publicaciones
18
Fecha de inscripción
jueves, 11 de febrero de 2016
Estatus
Miembro
Última intervención
lunes, 15 de febrero de 2016
9
1
Gracias
El cierre de los bucles no son correctos.

Si empiezas con k,i y j debes cerrar con j, i y k.

Es decir donde pones Next k debe ir next j.
Donde pones next j debe ir next k.

Deja un "Gracias" 1

Unas palabras de agradecimiento nunca están de más. Deja tu comentario

CCM 18197 usuarios nos han dicho gracias este mes

andresko
Publicaciones
8
Fecha de inscripción
lunes, 15 de febrero de 2016
Estatus
Miembro
Última intervención
viernes, 19 de febrero de 2016
-
muchas gracias, de casualidad sabes como hacer que en este mismo codigo los datos se ingresen en la primera celda vacia que se encuentre, mi problema es que quiero que busque esta celdas de izquierda a derecha, te explico:

For i = 12 To 100
For j = 18 To 50
If Cells(i, j) = Cells(1, 2) Then
Cells(3, i - 10) = Cells(i, 1)
Cells(4, i - 10) = Cells(i, 9)
Cells(5, i - 10) = Mid(Cells(10, j), 11, 2)
Cells(6, i - 10) = Cells(i, 13)
Cells(7, i - 10) = Cells(i, j)
End If
Next j
Next i
End If

en este momento el codigo ingresa los datos en las celdas (i , el numero de la columna)
pero a medida que aumenta el i ingresa los datos pero deja columnas vacias entre medio, si me ayudas con esto estoy casi listo ajjaja muchas gracias por tu tiempo ojala puedas ayudarme
> andresko
Publicaciones
8
Fecha de inscripción
lunes, 15 de febrero de 2016
Estatus
Miembro
Última intervención
viernes, 19 de febrero de 2016
-
no entendi bien el comentrio pero seria mas facil si me envias en archivo
***@***

Con un ejemplo de como quieres que quede y como es el estado inicial del archivo.
gili_sb_8712
Publicaciones
18
Fecha de inscripción
jueves, 11 de febrero de 2016
Estatus
Miembro
Última intervención
lunes, 15 de febrero de 2016
9 -
Podrias mandarme el ejemplo de tu archivo para ver como le podemos hacer.

gilbertomj87@gmail.com
andresko
Publicaciones
8
Fecha de inscripción
lunes, 15 de febrero de 2016
Estatus
Miembro
Última intervención
viernes, 19 de febrero de 2016
-
Gracias gili te acabo de enviar un correo :D