excel - 跳过空白单元格并完成的宏(发送电子邮件的按钮)
问题描述
我有一个宏有问题,我用一个按钮自动发送电子邮件......我不是专家,所以我正在寻求你的帮助(这让我发疯......顺便说一句我说西班牙语)
宏如下:
Sub Enviar_Correo2()
'
' Enviar_Correo2
' Enviar por correo electrónico automáticamente el resumen ejecutivo del trabajo de los Equipos de Mejora Continua
'Seleccionamos el rango de celdas a enviar Select
ThisWorkbook.Sheets("Resumen ejecutivo").Range("$A$1:$K$52").Select
For I = 1 To 10
'El valor de i se pone en la celda F18 para que con BUSCARV se devuelvan
'los datos correspondientes al ID.
ThisWorkbook.Sheets("Configuraciones iniciales").Range("F18").Value = I
'Mostramos la sección para enviar correo.
ActiveWorkbook.EnvelopeVisible = True
'Llamamos al envío...
With ActiveSheet.MailEnvelope
.Item.To = ThisWorkbook.Sheets("Configuraciones iniciales").Range("$B$19").Value
'.Item.cc = "correo1@dominio.com" 'con copia a...
'.Item.bcc = "correo2@dominio.com" 'con copia oculta a...
.Item.Subject = "PROPUESTA DE TEMAS PARA APROBACIÓN GERENCIAL"
.Introduction = "Estimados Srs.: Por medio de la presente nos permitimos plantear a Ustedes los siguientes tres temas seleccionados por nuestro Equipo de Mejora Continua, con la finalidad que nos asignen uno para iniciar su estudio. Estamos seguros que el trabajo a realizar sera un aporte valioso para nuestra empresa."
.Item.Send
End With
Next I
End Sub
在这个宏中,我想将一系列单元格从“Resumen ejecutivo”工作表发送到最多 10 封本地化在另一个名为“Configuraciones iniciales”的工作表中的电子邮件。问题是当用户没有填写所有列时,即从 1 到 10 编号。我的意思是不要用 10 封电子邮件填写表格。如果这没有发生,在最后一封电子邮件中,宏会重复多次,直到完成 10 封电子邮件或好像要发送到 10 封电子邮件。我希望你能理解我。
所以我想在这个宏的某处放置一个语句来跳过编号从 1 到 10 的列中没有电子邮件地址的空白单元格,并完成发送电子邮件的操作。
解决方案
我发现很难理解您的代码。这是我的意思。请阅读我的评论。它们的编写没有利于理解代码中已经存在的内容。
Option Explicit
Sub Enviar_Correo2()
' Enviar_Correo2
' Enviar por correo electrónico automáticamente el resumen ejecutivo del trabajo
' de los Equipos de Mejora Continua
Dim i As Integer
Dim Recipient As String
' Seleccionamos el rango de celdas a enviar Select
' it's not clear why this range is being selected
ThisWorkbook.Sheets("Resumen ejecutivo").Range("$A$1:$K$52").Select
For i = 0 To 9
With ThisWorkbook.Sheets("Configuraciones iniciales")
' assign the value of B19 to B28 as recipient
Recipient = Trim(.Cells(19 + i, "B").Value)
' skip the following if the cell is blank
If Len(Recipient) Then
' El valor de i se pone en la celda F18 para que con BUSCARV
' se devuelvan los datos correspondientes al ID.
' not clear why you would want to write a different number to the
' same cell on each loop
.Range("F18").Value = i + 1
'Mostramos la sección para enviar correo.
ActiveWorkbook.EnvelopeVisible = True
'Llamamos al envío...
With ActiveSheet.MailEnvelope
.Item.To = Recipient
'.Item.cc = "correo1@dominio.com" 'con copia a...
'.Item.bcc = "correo2@dominio.com" 'con copia oculta a...
.Item.Subject = "PROPUESTA DE TEMAS PARA APROBACIÓN GERENCIAL"
.Introduction = "Estimados Srs.: Por medio de la presente nos permitimos plantear " & _
"a Ustedes los siguientes tres temas seleccionados por nuestro " & _
"Equipo de Mejora Continua, con la finalidad que nos asignen uno " & _
"para iniciar su estudio. Estamos seguros que el trabajo a realizar " & _
"sera un aporte valioso para nuestra empresa."
.Item.Send
End With
End If
End With
Next i
End Sub
我认为上面的代码应该不会比原来的代码差,但它可能包含一些想法,可以帮助你构建你真正想要的东西。
推荐阅读
- flutter - Flutter Chopper:允许使用自签名证书吗?
- r - GGPlot2 Preset - 创建具有某些 ggplot2 美学选项的函数
- assembly - QEMU 中的小 x86-16 哔声
- qml - 在 qml 中用什么代替 TreeView?
- r - 下载报告时如何在 Shiny 应用程序中添加进度条?
- python-3.x - 比较 unicode 字符与组合变音符号
- r - R4.1.0,Windows 10,文件错误(文件,“rt”):无法打开文件 '001.csv':没有这样的文件或目录
- kubernetes - SMB 共享挂载在 Kubernetes 上,但内容不可见(文件或目录)
- python - 通过python从IB获取股票实时报价列表
- kibana - 异常检测 - 如何用作监控工具