标记单元格并从所选单元格返回var

时间:2013-10-17 13:09:48

标签: excel excel-vba vba

我需要使用非常小的数据库(100-200行)数据。列K是到期日期。我想标记任何已过期或过期两周的日期。一旦该单元格被标记,我就想从我编写的代码中将数据拉入TextBody,以便向myslef发送电子邮件,通知我过期以及与过期相关的数据。

    Set objMessage = CreateObject("CDO.Message")
    objMessage.Subject = "Clumpy Milk Ahead"
    objMessage.From = """Expired Milk"" <omg@lol.com>"
    objMessage.To = "lol@lol.com"
    objMessage.TextBody = "Place pulled data here"

最终我需要一条看起来像这样的消息......

set Referencing_Expiration_Cell As RFC

  Brand: (RFC col A) 
  Type: (RFC col d) 
  Shipment: (RFC col E) 
  Distributor: (RFC col F)
  Pickup Driver: (RFC col H)
  Employee: (RFC col I)
  Expiration Date: (RFC col K)

此代码将放置在每日运行的按钮上。因此脚本不需要自动化。任何有关这方面的帮助将非常感激。我一直在研究一些不同的代码串,并且不能在我的生活中得到我的想法,以便一切顺利进行。

提前感谢您提供任何信息/帮助!!

1 个答案:

答案 0 :(得分:0)

我假设您的问题是询问如何连续拉取值以在VBA中使用。以下代码将一次检索一行的值。它假设您的数据从A2开始并且至少有2行数据

Sub Macro1()

Dim endCell, currentCell As range
Set currentCell = Worksheets("Sheet1").range("A2")
Set endCell = currentCell.End(xlDown)

Do

     brand = currentCell.Value
     myType = currentCell.Offset(0, 3).Value 'Offset moves a column over to B in this case
     shipment = currentCell.Offset(0, 4).Value
     distributer = currentCell.Offset(0, 5).Value
     driver = currentCell.Offset(0, 6).Value
     employee = currentCell.Offset(0, 7).Value
     ExpireDate = currentCell.Offset(0, 9).Value

     If ExpireDate < Today() + 14

        'Do Stuff here

     End If

    Set currentCell = currentCell.Offset(1, 0) 'Offset moves to the next row down in this case

Loop Until currentCell = endCell.Offset(1, 0)
End Sub