Excel-Email versenden über excelinterne Verteilerlisten
#21
Hallo

zur Frage des Überforderns, es gabn schon Threads mit über 100 Fragen und Antworten.Wir sind bei #20. Mich freut das die For Next Schleife funktioniert, klinke mich aber aus weil mein technisches Wissen hier nicht mehr ausreicht.

Zur With Klammer:  bitte daran denken das alles was sich auf With bezieht, ob Cells, Range, oder Objekte, immer einen vorgestellten Punkt haben muss. Den vergesse ich manchmal auch! Dann holt Excel sich die Daten aus dem aktiven Blatt, nicht mehr aus der With Angabe. 

Ebenso habe ich die Frage:  klappt With nicht aus anderen Tabellen, oder bist du in einer anderen Datei??  Dann müsste vor der Tabelle in der With Klammer auch noch das Workbook mit angegeben werden! z.B. so:
With Workboosks("Beispiel").Worksheets("Tabelle1") oder:  ThisWorkboosk.Worksheets("Tabelle1") 

mfg  Gast 123
Top
#22
Hallo

@Rabe
 
auch bei der von dir zur Verfügung gestellten Datei funktioniert nur der Button, der auf die Mailadressen aus dem geöffneten Blatt zugreift.
Wenn ich von einem anderen Blatt aus per Button auf die Liste zugreifen möchte, bekomme ich einen Laufzeitfehler.
Vlt stimmt an meinem Excel 2010 etwas nicht :20:
 
 
@Gast123
habe auf die Notation geachtet :/
 
Es geht um ein Workbook nicht um verschiedene.
Von jedem Sheet soll ein entspr. Verteilerbutton einen bestimmten Verteilerbereich(bzw. mehrere) auf dem "E-Mail-Verteilerlisten"-Sheet  ansteuern.
Top
#23
Hi,

da ich keine Fremd-Beiträge mehr bearbeite, hier öffentlich:

das wird in einen Fehler laufen!
(15.12.2016, 19:54)Gast 123 schrieb: With Workboosks("Beispiel").Worksheets("Tabelle1") oder:  ThisWorkboosk.Worksheets("Tabelle1") 
Top
#24
Hi,

(16.12.2016, 11:22)nedial schrieb: auch bei der von dir zur Verfügung gestellten Datei funktioniert nur der Button, der auf die Mailadressen aus dem geöffneten Blatt zugreift.
Wenn ich von einem anderen Blatt aus per Button auf die Liste zugreifen möchte, bekomme ich einen Laufzeitfehler.
Vlt stimmt an meinem Excel 2010 etwas nicht :20:

Welche Fehlermeldung? In welcher Code-Zeile?
Top
#25
Sorry, für die Abwesenheit. Hatte noch mit anderen Themen zu kämpfen Blush
Scheinbar beim SVerweis, mit dem du den Usernamen als Absender überprüfen möchtest

"Typen unverträglich"

Absenderadresse = Sheets("Absender-Liste").Range("A2")

Grüße
Top
#26
Hi,

(20.12.2016, 08:51)nedial schrieb: Scheinbar beim SVerweis, mit dem du den Usernamen als Absender überprüfen möchtest

"Typen unverträglich"

Absenderadresse = Sheets("Absender-Liste").Range("A2")

Wenn Du in das Blatt Absenderliste gehst, was steht da in den Zellen A1 und A2?
Die Liste in C2:D6 mußt Du natürlich anpassen!
Bei mir sieht es so aus:

Absender-Liste
ABCDE
1rab
2rab.krause@info.deEinlogg-NameMail-Adresse
3Tomtom.kohl@web.de
4Klausklaus.mueller@gmx.de
5Timtim.test@yahoo.com
6Rabrab.krause@info.de
7

verwendete Formeln
Zelle Formel Bereich N/A
A2=SVERWEIS(A1;$C$2:$D$6;2;0)
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.08 einschl. 64 Bit



So ist der Code-Schnipsel:
   With Sheets("E-Mail-Verteilerlisten")
      Sheets("Absender-Liste").Range("A1") = VBA.Environ("Username")
'      Sheets("Absender-Liste").Range("A2").FormulaR1C1 = "=VLOOKUP(R[-1]C,R2C3:R6C4,2,0)" 
      Absenderadresse = Sheets("Absender-Liste").Range("A2")
      MsgBox Absenderadresse
      For lngSpalte = 2 To 20 Step 2
         'in Zeile 3 bis 40 
         For lngZeile = 3 To 40
            If .Cells(lngZeile, lngSpalte) <> "" And .Cells(lngZeile, lngSpalte) <> Absenderadresse Then
               strEmpfänger = strEmpfänger & ";" & .Cells(lngZeile, lngSpalte).Value
            End If
         Next lngZeile
      Next lngSpalte
   End With
Top
#27
Danke für die Hilfe!

Habe den Fehler gefunden.
Excel hat den Namen der Mailadresse für den S-Verweis mit dem der PC-Kennung überschrieben. Das klappte dann natürlich nicht

Grüße
Top
#28
oder:


Code:
Sub M_snb()
   Cells(3, 3).CurrentRegion.Copy
   
   With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
       .GetFromClipboard
       c00 = .GetText
    End With
    c01 = Split(Filter(Split(c00, vbLf), "Rab" & vbTab, , 1)(0), vbTab)(1)
    MsgBox Join(Filter(Filter(Split(Replace(c00, vbLf, vbTab), vbTab), "@"), c01, 0), ";")
End Sub


Statt "Rab' kannst du environ("username") schreiben.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste