Adicionar una condicionante en macro

Pido su apoyo en la siguiente estructura de una macro:

Option Explicit
Sub ACCESO_SOL_SUNAT()
Dim IE As Object
Dim Boton As Object
Dim Opcion2 As Object
Dim Opcion3 As Object
Set IE = CreateObject("InternetExplorer.Application")
On Error Resume Next
If Range("a17").Value = "Declaración y Pago" Then
IE.Navigate "https://www.sunat.gob.pe/xssecurity/SignOnVerification.htm" & _
"?signonForwardAction=https%3A%2F%2Fwww.sunat.gob.pe%2Fol-at-itcanal%2Fcanal.do"
Application.Wait (Now + TimeValue("00:00:02"))
While IE.Busy
DoEvents
Wend
IE.Document.all.Item("ruc").Value = Range("E6").Value
IE.Document.all.Item("usuario").Value = Range("E8").Value
IE.Document.all.Item("clave").Value = Range("E10").Value
Set Boton = IE.Document.getElementById("btnAceptar")
Boton.Click
Else

IE.Navigate "https://e-menu.sunat.gob.pe/cl-ti-itmenu/MenuInternet.htm"
Application.Wait (Now + TimeValue("00:00:01"))
While IE.Busy
DoEvents
Wend
Set Opcion2 = IE.Document.getElementById("btnPorRuc")
Opcion2.Click

IE.Document.all.Item("txtruc").Value = Range("E6").Value
IE.Document.all.Item("txtusuario").Value = Range("E8").Value
IE.Document.all.Item("txtContrasena").Value = Range("E10").Value
End If
Set Boton = IE.Document.getElementById("btnAceptar")
Boton.Click
IE.Visible = True
Set IE = Nothing
End Sub

A esta secuencia quisiera ingresar otra opción más tercer, la cual es la siguiente:

Dim Boton As Object
Dim Opcion3 As Object
Set IE = CreateObject("InternetExplorer.Application")
On Error Resume Next
If Range("a17").Value = "Declaración y Pago" Then
IE.Navigate " sunat"
Application.Wait (Now + TimeValue("00:00:02"))
While IE.Busy
DoEvents
Wend
IE.Document.all.Item("TXTRuc").Value = Range("E6").Value
IE.Document.all.Item("txtusuario").Value = Range("E8").Value
IE.Document.all.Item("txtContrasena").Value = Range("E10").Value
Set Boton = IE.Document.getElementById("btnAceptar")
Botón. Click

E tratado de ingresar con else pero siempre me sale un error, les pido su apoyo en poder dar solución.

1 respuesta

Respuesta
1

[Hola

Podrías usar "ElseIf" para agregar una condición:

If Range("A17").Value = "Declaración y Pago" Then
.....
ElseIf  Range("A17").Value = "loquecorresponda" Then
....
Else
.....
End if

 Saludos]

Abraham Valencia

Muchas Gracias Abraham Valencia.

La condicionante funciona muy bien.

No se si me podría ayudar con otra pregunta que aun no tengo respuesta es también una condicionante, adjunte archivo, lo que sucede que al finalizar el proceso me selecciona toda la hoja.

Creo que porque tiene otro Private Sub Worksheet_Change.

Espero me puedan ayudan con esta macro.

Saludos.

[Hola nuevamente

De nada por lo primero; sobre el nuevo pedido sugiero abrir una nueva pregunta (normas del foro) y como el foro no permite adjuntar archivos, el ideal es colocarlo en algún "Drive" (OneDrive, GoogleDrive, etc.) y compartir el enlace en el mensaje.

Saludos]

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas