Czesc,
Mam taki problem napisalam przerobilam funkcje znaleziona w internecie na swoje potrzeby
jestem laikiem totalnym jezeli chodzi o VBA. Z gory przepraszam za nie uzywanie polskich znakow.
Problem jest nastepujacy moja funkcja dziala na zasadzie przypomnienia mailowego wysylanego z excela na 15 dni przed uplywem waznosci dokumentu na moj adres mailowy ale tylko dla jednej zakladki w excelu. Jak sprytnie zmienic zakres aby funkcja odnosila sie do wszystkich zakladek w tym excelu ? Zakladek jest 13 i kazda z nich jest zbudowana identycznie jak pierwsza. QM-Handbuch to nazwa zakladki w excelu.
Ponizej wklejam kod:
Private Sub Workbook_Open()
Dim rCell As Range
Dim objApp As Object
Dim objMailItm As Object
Dim tBRng As String
Dim tReceiver As String
tBRng = "A12:A" & Sheets("QM-Handbuch").UsedRange.Rows.Count
tReceiver = Sheets("QM-Handbuch").Range("B3")
Set objApp = CreateObject("Outlook.Application")
For Each rCell In Sheets("QM-Handbuch").Range(tBRng)
If IsDate(rCell.Offset(0, 29).Value) Then
If rCell.Offset(0, 29) - Date <= Sheets("QM-Handbuch").Range("E3").Value _
And Not (rCell.Offset(0, 30).Value) Then
Set objMailItm = objApp.CreateItem(0)
With objMailItm
.BCC = tReceiver
.Subject = "Fälligkeitswarnung"
.Body = "Das Dokument <" & rCell.Offset(0, 0).Value & _
rCell.Offset(0, 1).Value & ">" & vbCrLf & _
"wird am " & rCell.Offset(0, 29).Value & " fällig!"
.Send
End With
rCell.Offset(0, 30).Value = True
Set objMailItm = Nothing
End If
End If
Next
Set objApp = Nothing
End Sub
Dodano po 2 [godziny] 16 [minuty]:
Hej,
Udalo mi sie znalezc odpowiednia petle do mojego dokumentu:
Sub WorksheetLoop()
Dim WS_Count As Integer
Dim I As Integer
' Set WS_Count equal to the number of worksheets in the active
' workbook.
WS_Count = ActiveWorkbook.Worksheets.Count
' Begin the loop.
For I = 1 To WS_Count
' Insert your code here.
' The following line shows how to reference a sheet within
' the loop by displaying the worksheet name in a dialog box.
MsgBox ActiveWorkbook.Worksheets(I).Name
Next I
End Sub
Dodalam ja do mojego modelu ... teraz potrzebuje powiazania petli z moim kodem. Czy jest mi ktos w stanie powiedziec jak mam podstawic zmienne i je zdefiniowac aby kod dzialal poprawnie i byl zintegrowany petla. Please
Mam taki problem napisalam przerobilam funkcje znaleziona w internecie na swoje potrzeby

Problem jest nastepujacy moja funkcja dziala na zasadzie przypomnienia mailowego wysylanego z excela na 15 dni przed uplywem waznosci dokumentu na moj adres mailowy ale tylko dla jednej zakladki w excelu. Jak sprytnie zmienic zakres aby funkcja odnosila sie do wszystkich zakladek w tym excelu ? Zakladek jest 13 i kazda z nich jest zbudowana identycznie jak pierwsza. QM-Handbuch to nazwa zakladki w excelu.
Ponizej wklejam kod:
Private Sub Workbook_Open()
Dim rCell As Range
Dim objApp As Object
Dim objMailItm As Object
Dim tBRng As String
Dim tReceiver As String
tBRng = "A12:A" & Sheets("QM-Handbuch").UsedRange.Rows.Count
tReceiver = Sheets("QM-Handbuch").Range("B3")
Set objApp = CreateObject("Outlook.Application")
For Each rCell In Sheets("QM-Handbuch").Range(tBRng)
If IsDate(rCell.Offset(0, 29).Value) Then
If rCell.Offset(0, 29) - Date <= Sheets("QM-Handbuch").Range("E3").Value _
And Not (rCell.Offset(0, 30).Value) Then
Set objMailItm = objApp.CreateItem(0)
With objMailItm
.BCC = tReceiver
.Subject = "Fälligkeitswarnung"
.Body = "Das Dokument <" & rCell.Offset(0, 0).Value & _
rCell.Offset(0, 1).Value & ">" & vbCrLf & _
"wird am " & rCell.Offset(0, 29).Value & " fällig!"
.Send
End With
rCell.Offset(0, 30).Value = True
Set objMailItm = Nothing
End If
End If
Next
Set objApp = Nothing
End Sub
Dodano po 2 [godziny] 16 [minuty]:
Hej,
Udalo mi sie znalezc odpowiednia petle do mojego dokumentu:
Sub WorksheetLoop()
Dim WS_Count As Integer
Dim I As Integer
' Set WS_Count equal to the number of worksheets in the active
' workbook.
WS_Count = ActiveWorkbook.Worksheets.Count
' Begin the loop.
For I = 1 To WS_Count
' Insert your code here.
' The following line shows how to reference a sheet within
' the loop by displaying the worksheet name in a dialog box.
MsgBox ActiveWorkbook.Worksheets(I).Name
Next I
End Sub
Dodalam ja do mojego modelu ... teraz potrzebuje powiazania petli z moim kodem. Czy jest mi ktos w stanie powiedziec jak mam podstawic zmienne i je zdefiniowac aby kod dzialal poprawnie i byl zintegrowany petla. Please
