For con 2 condiciones e if con 2 variables

Resuelto/Cerrado
andresko Mensajes enviados 8 Fecha de inscripción lunes, 15 de febrero de 2016 Estatus Miembro Última intervención viernes, 19 de febrero de 2016 - 15 feb 2016 a las 16:45
andresko Mensajes enviados 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

2 respuestas

gili_sb_8712 Mensajes enviados 18 Fecha de inscripción jueves, 11 de febrero de 2016 Estatus Miembro Última intervención lunes, 15 de febrero de 2016 21
15 feb 2016 a las 18:29
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.
1
andresko Mensajes enviados 8 Fecha de inscripción lunes, 15 de febrero de 2016 Estatus Miembro Última intervención viernes, 19 de febrero de 2016
15 feb 2016 a las 18:39
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
0