Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JSDJSD

Exceler C
  • Unido

  • Última visita

Mensajes publicados por JSDJSD

  1. publicado ·

    Editado el por JSDJSD

    Sub Imagen13_Haga_clic_en()
    
    Dim Izq As Single, Arr As Single, Ancho As Single, Alto As Single
    
    Dim rutaArchivo As String
    
    Dim Email As CDO.Message
    
    Dim t As Single
    
    
    
    Application.DisplayAlerts = False
    
    Application.ScreenUpdating = False
    
    ActiveSheet.Unprotect "4324"
    
    '--- GENERAR IMAGEN DEL RECIBO ---
    
    With Range("H7:R34")
    
    Izq = .Left: Arr = .Top: Ancho = .Width: Alto = .Height
    
    .CopyPicture
    
    End With
    
    With ActiveSheet.ChartObjects.Add(Izq, Arr, Ancho, Alto)
    
    .Activate
    
    .Chart.Paste
    
    '---- RUTA DEL ARCHIVO (CORREGIDO) ----
    
    rutaArchivo = "C:\Users\Usuario\Google Drive\LOCACIONES\REC. PROPIETARIOS\" & _
    
    Format(Range("Q20"), "mmmYY") & " - " & _
    
    Range("Q9") & " - " & _
    
    Range("P17") & " - " & _
    
    Range("K19") & ".JPG"
    
    .Chart.Export rutaArchivo
    
    .Delete
    
    End With
    
    'Guardar ruta en AK30 por compatibilidad
    
    Range("AK30").Value = rutaArchivo
    
    '--- PEGAR BLOQUE DE DATOS ---
    
    Range("AH6").Copy
    
    Range("AH9").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    
    Range("Y7:AI33").Copy
    
    Range("H7").PasteSpecial xlPasteAll
    
    ActiveSheet.Protect "4324"
    
    ActiveWorkbook.Save
    
    '--- PREPARAR ENVÍO DEL MAIL ---
    
    Set Email = New CDO.Message
    
    correo_origen = "nqn.negocios@gmail.com"
    
    Clave_correo_origen = "wkfhaapcnjljbwju"
    
    correo_destino = Range("AK27").Value
    
    Asunto = Range("AK28")
    
    Mensaje = Range("AK29")
    
    Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.com"
    
    Email.Configuration.Fields(cdoSendUsingMethod) = 2
    
    With Email.Configuration.Fields
    
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
    
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
    
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = correo_origen
    
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Clave_correo_origen
    
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    
    End With
    
    '--- VALIDAR ARCHIVO ANTES DE ENVIAR ---
    
    t = Timer
    
    Do While Dir(rutaArchivo) = "" And Timer - t < 5
    
    DoEvents
    
    Loop
    
    If Dir(rutaArchivo) = "" Then
    
    MsgBox "ERROR: El archivo no se generó: " & rutaArchivo, vbCritical
    
    Exit Sub
    
    End If
    
    '--- ENVIAR MAIL ---
    
    With Email
    
    .To = correo_destino
    
    .From = correo_origen
    
    .Subject = Asunto
    
    .TextBody = Mensaje
    
    .Configuration.Fields.Update
    
    .AddAttachment rutaArchivo
    
    On Error Resume Next
    
    .Send
    
    End With
    
    End Sub
    
    Sub powerbuttonINQ()
    
    Dim Izq As Single, Arr As Single, Ancho As Single, Alto As Single
    
    Dim rutaArchivo As String
    
    Dim Email As CDO.Message
    
    Dim t As Single
    
    Application.DisplayAlerts = False
    
    Application.ScreenUpdating = False
    
    ActiveSheet.Unprotect "4324"
    
    '--- GENERAR IMAGEN DEL RECIBO ---
    
    With Range("H7:R33")
    
    Izq = .Left: Arr = .Top: Ancho = .Width: Alto = .Height
    
    .CopyPicture
    
    End With
    
    With ActiveSheet.ChartObjects.Add(Izq, Arr, Ancho, Alto)
    
    .Activate
    
    .Chart.Paste
    
    rutaArchivo = "C:\Users\Usuario\Google Drive\LOCACIONES\REC. INQUILINOS\" & _
    
    Format(Range("Q20"), "mmmYY") & " - " & _
    
    Range("Q9") & " - " & _
    
    Range("P17") & " - " & _
    
    Range("J17") & ".JPG"
    
    .Chart.Export rutaArchivo
    
    .Delete
    
    End With
    
    Range("AK30").Value = rutaArchivo
    
    Range("AH6").Copy
    
    Range("AH9").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    
    Range("Y7:AI33").Copy
    
    Range("H7").PasteSpecial xlPasteAll
    
    ActiveSheet.Protect "4324"
    
    ActiveWorkbook.Save
    
    '--- EMAIL CONFIG ---
    
    Set Email = New CDO.Message
    
    correo_origen = "nqn.negocios@gmail.com"
    
    Clave_correo_origen = "wkfhaapcnjljbwju"
    
    correo_destino = Range("AK27").Value
    
    Asunto = Range("AK28")
    
    Mensaje = Range("AK29")
    
    Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.com"
    
    Email.Configuration.Fields(cdoSendUsingMethod) = 2
    
    With Email.Configuration.Fields
    
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
    
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
    
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = correo_origen
    
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Clave_correo_origen
    
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    
    End With
    
    '--- VERIFICAR ARCHIVO ---
    
    t = Timer
    
    Do While Dir(rutaArchivo) = "" And Timer - t < 5
    
    DoEvents
    
    Loop
    
    If Dir(rutaArchivo) = "" Then
    
    MsgBox "ERROR: El archivo no se generó: " & rutaArchivo, vbCritical
    
    Exit Sub
    
    End If
    
    '--- ENVIAR ---
    
    With Email
    
    .To = correo_destino
    
    .From = correo_origen
    
    .Subject = Asunto
    
    .TextBody = Mensaje
    
    .Configuration.Fields.Update
    
    .AddAttachment rutaArchivo
    
    On Error Resume Next
    
    .Send
    
    End With
    
    End Sub
    
    
  2. publicado

    Sub EmitirRecibosDesdeLista()
    
        Dim ws As Worksheet
        Dim celdaSelector As Range
        Dim lista As Range
        Dim c As Range
        Dim total As Long, contador As Long
    
        'Hoja donde están P17 y la lista U16:U...
        Set ws = Sheets("CONSULTAS")
    
        'Celda donde se coloca cada código
        Set celdaSelector = ws.Range("P17")
    
        'Lista de códigos
        Set lista = ws.Range("U16:U500")
    
        'Calcular cantidad de códigos
        total = ws.Cells(ws.Rows.Count, "U").End(xlUp).Row - 15
    
        If total <= 0 Then
            MsgBox "No hay códigos en la lista (columna U).", vbExclamation
            Exit Sub
        End If
    
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
    
        contador = 0
    
        For Each c In lista
            If c.Value = "" Then Exit For
            
            contador = contador + 1
            
            'Colocar código en P17
            celdaSelector.Value = c.Value
            DoEvents
            
            '------------------------------------------------------------
            ' EJECUTA AQUÍ LA MACRO DE EMISIÓN DEL RECIBO
            '------------------------------------------------------------
            
            'Recibos PROPIETARIOS:
            Call Imagen13_Haga_clic_en
            
            'Si quisieras Inquilinos, activa esta y comenta la otra:
            'Call powerbuttonINQ
            
            '------------------------------------------------------------
    
            'Espera 2 segundos para que finalice bien la exportación y el envío
            Application.Wait Now + TimeValue("0:00:02")
    
        Next c
    
        Application.ScreenUpdating = True
    
        MsgBox "Proceso finalizado. Se emitieron " & contador & " recibos.", vbInformation
    
    End Sub
    
  3. publicado

    El error que te lanza es por los distintos errores de referencia que tienes en tus datos #¡REF! en la columna Saldo, puedes solucionarlo con un simple on error resume next, pero no es lo más apropiado.

    Para salvar dicho problema, sustituye todo el código que tienes dentro de  Private Sub UserForm_Initialize()  por esta línea
    
    ListBox1.RowSource = "'" & Hoja3.Name & "'!A6:O" & Hoja3.Range("L" & Rows.Count).End(xlUp).Row

    Prueba y comenta

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.