Excel VBA - 自动报告

时间:2017-12-14 10:06:13

标签: excel vba email filter report

目前我正在处理一个自动报告,该报告将通过Excel VBA每周五发送出去。 我已将代码放在一起,但是,它无法正常工作,我无法找出问题所在。

我想要实现的目标:

- 我在Excel中从A列到J列有一组数据(将输入其他行 - 我目前将范围设置为200)

- 我想过滤数据以寻找" N / A"在G栏中

- 我想选择已过滤的行并将其发送到邮箱

我猜测错误在于选择过滤,因为当我收到电子邮件时,有些行是完全空的,或者只包含来自一列的数据等(例如,我应该收到5行,因为那里只有5个N / A细胞,但是,我得到的不仅仅是那个)

以下是我正在使用的代码:

Private Sub Workbook_Open()

Application.DisplayAlerts = False

Call filteringSN
Call Send_Range
Call removeFilter

Application.DisplayAlerts = True

End Sub

Sub filteringSN()

ActiveSheet.Range("$A$1:$J$200").AutoFilter Field:=7, Criteria1:="N/A"

End Sub

Sub Send_Range()


Application.DisplayAlerts = False

 ActiveSheet.UsedRange.Offset(1, 0).SpecialCells _
(xlCellTypeVisible).Select


ActiveWorkbook.EnvelopeVisible = True

 With ActiveSheet.MailEnvelope
  .Introduction = "HELLO"
  .Item.To = "abc@aaaa.com"
  .Item.Subject = "<TEST>"
  .Item.Send
   End With

   Application.DisplayAlerts = True
End Sub

1 个答案:

答案 0 :(得分:0)

你的代码对我很有用。 您的Outlook可能只是以一种奇怪的方式格式化您收到的邮件吗?