Pregunta: | 58872 - PROBLEMAS CON MACRO EXCEL |
Autor: | Wilberth Mendez |
Tengo problemas para enviar por correo información de las celdas de una hoja de excel por medio del Outlook. El código es el siguiente: Sub Enviar() Set objOutlook = CreateObject("Outlook.Application") 'Create and open a new email for input. Set objItem = objOutlook.CreateItem(olMailItem) With objItem .To = "[email protected]" .Subject = "Nueva Información para Cotizar" .body = Range("a1:i15") .display End With 'Quit Microsoft Outlook Set objOutlook = Nothing End Sub Todo funciona bien excepto donde trato de obtener todas las celdas con la instrucción "Range". Si trato de obtener una por una si funciona. Ej. range("a1")......... range("a2").....etc pero como comprenderán este método es muy engorroso y lento. |
Respuesta: | Eider Mauricio Aristizábal Erazo |
La instrucción .body = Range("a1:i15") espera una cadena de texto, pero tu le estas asignando un rango de celdas (135 en total). mientras que la instrucción: .body = Range("a1") solo asigna una celda e implicitamente VBA retorna el valor (texto) de la celda. Es mejor utilizar el método "Engorroso" no lo veo de esa manera, seria algo asi: Sub EnviarCelda(CeldaEnviar as range) |