2013-07-11 17 views
7

zadaniem wysyłania wiadomości e-mail z programu Excel. Poniżej znajduje się przykładowa kolumna. Jak mogę uzyskać wartość e-mail z pętli? DziękiExcel VBA - odczytanie wartości komórki z kodu

enter image description here

Oto mój kod:

 
    Dim rng As Range 
    Dim row As Range 
    Dim cell As Range 
    Dim mydate As Date 
    Dim myDiff As Long

Set rng = Range("E5:E17") Set rng2 = Range("F5:F17") Dim cell2 As Range

Dim i As Integer i = 5

For Each row In rng.Rows For Each cell In row.Cells

MsgBox cell.Value 
mydate = cell.Value 
myDiff = DateDiff("d", Date, mydate) 

Set rng2 = Range("F" & i) 
For Each cell2 In rng2 
MsgBox cell2.Value 
Next cell2 

Jeśli myDiff> -8 I myDiff < 8 Potem aEmail.Send End If

i = i + 1 Następna komórka Następny wiersz

+0

No, ty patrzysz na 'Range ("E5: E17")' i adresy e-mail są w kolumnie 'F', więc wygląda na to, powinieneś po prostu odczytać wartość z kolumny 'F' kiedy potrzebujesz e-maila. Jakie jest dokładnie twoje pytanie? –

+0

tak. powyższy skrypt otrzymuje tylko wartość daty. Potrzebuję również wartości e-mail w pętli. Tak więc, jeśli cena jest większa niż 8, wiadomość e-mail zostanie wysłana na odpowiedni adres e-mail. – user2286756

Odpowiedz

8

myślę, że trzeba to ..

Dim n as Integer 

For n = 5 to 17 
    msgbox cells(n,3) '--> sched waste 
    msgbox cells(n,4) '--> type of treatm 
    msgbox format(cells(n,5),"dd/MM/yyyy") '--> Lic exp 
    msgbox cells(n,6) '--> email col 
Next 
+0

Nie, chcę tylko uzyskać wartość e-mail w pętli. – user2286756

+0

@ user2286756 .. jeśli chcesz .. – matzone

+0

Hm ... już aktualizuję mój kod. ALE, jak mogę uzyskać tylko kolumnę wiadomości e-mail tylko dla bieżącego wiersza? – user2286756

Powiązane problemy