Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1376to1380
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fragen zu meiner todo Liste

Fragen zu meiner todo Liste
27.08.2014 09:42:42
Mulsch0r
Hallo,
ich habe jetzt verzweifelt gesucht wo ich in meinem alten Thread
auf eine Hilfestellung antworten kann. Ich habe leider nichts gefunden.
Hi,
die Zeile, auf die geklickt wurde, findest Du in target.row. Laß Dir die mal in einer msgbox  _
ausgeben, damit Du siehst, was zurückgegeben wird.
Anschließend definierst Du in sendmail eine Variable, die Du beim Aufruf
sendmail(target.row+korrekturwert)
übergibst:
Public Function sendEmail(zeile as long)
dort kannst du die Nr. weiterverarbeiten und auf die betreffende Zeile zugreifen, also etwa so:
sendto = Tabelle2.Range("N" & zeile)
Happy Exceling,
Michael
Hallo Michael ich wollte erst mal Danke sagen für die Antwort.
Ich komme aber irgendwie nicht weiter. Es wärte nett wenn du oder auch gerne jemand anderes sich das noch mal anschauen könnte.
Wie du gesagt hast habe ich eine msgbox eingefügt was dem Verständnis gut tat.
Auch die variablen habe ich so gut ich kann eingefügt. Es wird jetzt aber keine E-mail mehr versendet. Jetzt kommt beim Kompilieren die Meldung " Argument ist nicht optional".
Änderungen von mir habe ich Fett gemacht
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If Not Intersect(target, Tabelle1.Range("M1:M100")) Is Nothing Then
sendEmail 'hier kommt die Fehlermeldung beim Kompilieren
MsgBox target.Row
End If
End Sub
Public Function sendEmail(zeile As Long)
On Error GoTo ende
Dim zeile As Long
zeile = target.Row

esubject = Tabelle1.Range("M1")
sendto = Tabelle1.Range("K" & zeile)
ccto = Tabelle1.Range("L1")
ebody = Tabelle1.Range("M1") & vbCrLf & Tabelle1.Range("M2") & vbCrLf & "Best regards" & vbCrLf & "Björn"
newfilename = "U:\Test.pdf"
Set app = CreateObject("outlook.Application")
Set itm = app.createitem(0)
With itm
.Subject = esubject
.to = sendto
.cc = ccto
.body = ebody
.attachments.Add (newfilename)
.display
.send
End With
Set app = Nothing
Set itm = Nothing
ende:
End Function

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fragen zu meiner todo Liste
27.08.2014 09:45:11
Mulsch0r
oh man es tut mir Riesig leid.
grad nachdem ich den Post gemacht habe habe ich gesehen wie es geht
also das ich alte treads wieder öffne. Ich habe als in "Deine Beiträge" gesucht.
Sooooooooooorrrrrrrrrrrryyyy kommmt nicht mehr vor!!!!!!

AW: Fragen zu meiner todo Liste
27.08.2014 10:15:20
fcs
Hi,
Fortsetzung von hier: https://www.herber.de/forum/messages/1378361.html
Wenn eine Function oder Sub Argumente/Parameter fordert, dann müssen diese in der aufrufenden Zeile angegeben werden.
 sendEmail zeile:=Target.Row
oder
sendEmail Target.Row
oder
Call  sendEmail(zeile:=Target.Row) 

Die Angabe des Parameter/Argument-Namens ist kein Muss, aber insbesondere bei mehreren oder auch optionalen Werten. Erleichtert es das Verständnis/Pflegen des Codes.
Gruß
Franz

Anzeige
AW: Fragen zu meiner todo Liste
27.08.2014 13:03:42
Mulsch0r
Vielen Dank mit Call sendEmail(zeile:=Target.Row) hat es funktioniert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige