• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

tellers

Status
Niet open voor verdere reacties.

gast0708

Gebruiker
Lid geworden
3 feb 2011
Berichten
5
Ik weet 't.. excel en macro's is een moeilijk begrip om uit te leggen.. Ik wil graag twee tellers combineren.. Wat wil ik graag:

1)
if [e6] = [g6] then [e6] = "leeg"
if [e6] = "leeg" then [d12] = [d12] -1
if D12 = < 0 then D12 = 0

+ hoe zet ik een stop op de teller zodat 1) maar 1x op nul komt en niet in een oneindige loop zodat mijn mail steeds afgaat (zie code). Dus als cel e6 op "leeg" komt moet d12 eentje aftrekken tot *nul* en dan niets meer doen tot ik cel e6 weer *handmatig* instel op gewenst die dan weer telt tot *leeg*

en

2)
D12 mag alleen een waarde gaan bevatten Lager/gelijk aan E12 en dus ook niet onder de nul. Werkt normaliter prima. Ik wil dus 1) (zie boven) hiermee combineren.

Als ik een cel wijzig buiten bereik E6/G6/D12 mag er niets gebeuren, want mijn automatische mail gaat steeds af op momenten wanneer ik dat niet wil. het moet aan de voorwaardes voldoen..

Code:
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Function GetBoiler(ByVal sFile As String) As String

    Dim fso As Object
    Dim ts As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
    GetBoiler = ts.readall
    ts.Close
End Function
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    
    Dim lngResponse As Long
    Dim URL As String, strEmail As String, strSubject As String
Dim OutApp As Object
    Dim OutMail As Object
    Dim SigString As String
    Dim Signature As String
    
if [e6] = [g6] then [e6] = "leeg"
if [e6] = "leeg" then [d12] = [d12] -1
  
  
If Left(Target.Address, 2) = "$D" Then
        If Target.Value < Range("$E" & Right(Target.Address, 2)).Value Then
            If Target.Cells.Count < [e12] Then
            [b31] = [b31] + 1
            
            strEmail = Range("$g" & Right(Target.Address, 2)).Value
                strsubject1 = "Bestelling:"
                strsubject2 = Range("$F" & Right(Target.Address, 2)).Value & "x " & Range("$a" & Right(Target.Address, 2)).Value & "<br><br>Typenummer " & Range("$b" & Right(Target.Address, 2)).Value
                strsubject3 = "Groet, <br><br>" & Signature
                Strurl = "mailto:" & strEmail & "?subject=" & "Bestelling" & "&body=" & strSubject
    
SigString = "C:\Documents and Settings\cursist\Application Data\Microsoft\handtekeningen\Wom.htm"
    
    If Dir(SigString) <> "" Then
        Signature = GetBoiler(SigString)
    Else
        Signature = ""
    End If

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
        With OutMail
        .To = strEmail
        .CC = ""
        .BCC = ""
        .Subject = "Bestelling"
        .htmlBody = strsubject1 & "<br><br>" & strsubject2 & "<br><br>" & strsubject3 & "<br><Br><Br>" & Signature
        .Close
        .send
        
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
End If
     End If
     End If
     
     End Sub
 
@ Helpers
Hier is al een begin gemaakt met beantwoorden

@ gast0708,
Het had netjes geweest als je zelf de link even gezet had . . . .
En, nee Helpij.nl en Worksheet.nl zijn niet aan elkaar gelinkt maar veel helpers lopen meerdere site's af. (meestal wordt crossposting niet gewaardeerd door de helpers en is op Worksheet.nl ook niet toegestaan)

Succes,
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan