Ayuda con código

Estoy trabajando en un archivo de vba, y necesito que me ejecute cualquiera de las condiciones siguientes pero al ejecutarlo solo me ejcuta una este es el código, ¿estoy haciendo lo correcto?
Private Sub Guardar3_Click()
Dim iFila As Long
Dim ws As Worksheet
Set ws = Worksheets(1)
'encuenta la siguiente fila vacía
  If iFila = ws.Cells(Rows.Count, 2) _
  .End(xlUp).Offset(1, 2).Row Or iFila = ws.Cells(Rows.Count, 5) _
  .End(xlUp).Offset(1, 5).Row Then
  ws.Cells(iFila, 2).Value = Me.deudor.Text
  ws.Cells(iFila, 5).Value = Me.part.Text
   End If
Me.deudor = ""
Me.part = ""
End sub
Respuesta
1
En el código que muestras tienes una sentencia condicional if.. pero solo esta programada para realice una acción, me explico, tu la programaste de la siguiente manera:
if condicion then
    codigo-1
end if
cuando deberias programarla de la siguiente manera:
if condicion
    codigo-1
else
    codigo-2
end if
supongo que las condiciones que quieres que haga son estas
ws.Cells(iFila, 2).Value = Me.deudor.Text
  ws.Cells(iFila, 5).Value = Me.part.Text
si es asi, estructuralas como te indique arriba, es decir:
if condicion then
     ws.Cells(iFila, 2).Value = Me.deudor.Text
else
     ws.Cells(iFila, 5).Value = Me.part.Text
end if
Gracias, por su pronta respuesta, la condición es IF OR, ya que lo que pretendo es que me busque en dos columnas diferentes la siguiente fila vacía, y que ahí me ponga el texto indicado, pero solo me da la primera opción no se que estoy haciendo mal o me hace falta algo en la condición para que me de el resultado todo dentro un mism evento.
De antemanos gracias por la ayuda
Ok, ya te entendí, disculpa que no vi el OR en la condición, estas condicionales compuestas a mi me fallan con frecuencia, trata de hacerlo de esta forma a ver:
Private Sub Guardar3_Click()
    Dim iFila As Long
    Dim ws As Worksheet
    Set ws = Worksheets(1)
    'encuenta la siguiente fila vacía
      If iFila = ws.Cells(Rows.Count, 2) _
      .End(xlUp).Offset(1, 2).Row Then
            ws.Cells(iFila, 2).Value = Me.deudor.Text
            ws.Cells(iFila, 5).Value = Me.part.Text
      ElseIf iFila = ws.Cells(Rows.Count, 5) _
      .End(xlUp).Offset(1, 5).Row Then
            ws.Cells(iFila, 2).Value = Me.deudor.Text
            ws.Cells(iFila, 5).Value = Me.part.Text
      End If
    Me.deudor = ""
    Me.part = ""
End sub
tienes una condicion if..else if.. end if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas