Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellen - Sverweis nur wenn Wert größer 0
#21
Wenn du alles in VBA (mittels Outlook) senden willst ist jeder Excel Formel überflüssig.


Code:
Sub M_snb()
   sn = Cells(5, 34).Resize(65, 10)
  
   With creatobject("outlook.application")
     For j = 1 To UBound(sn)
       If sn(j, 1) > 0 Then
            With .createitem(j)
               .to = sn(j, 8)
               .Subject = sn(j, 9)
               .body = sn(j, 10) & sn(j, 1)
               .send
             End With
        End If
     Next
    End With
End Sub

P.S. Warum ein Passwort auf dem VBProjekt ?
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Daniel Albert
Antworten Top
#22
Hallo Jörg,

zu Deiner Aussage und Deinen zuletzt eingestellten Formeln :


Zitat:Hallo, schau mal - hier kann man wirklich einsparen..:

Ich kann dazu nur darauf hinweisen, dass ich diese ohne WENNFEHLER() dafür mit WENN() ja gestern schon vorgeschlagen hatte und das auch als ein wesentliche Einsparpotential betrachtet hatte.
WENNFEHLER() ist bei derzeitigen Datenlage mE auch nicht notwendig. Im Gegenteil, der Nutzer wird durch eine evtl. Fehlermeldung möglicherweise eher "mit der "Nase drauf gestoßen" dass seine Datenlage einer notwendigen Korrektur bedarf, als wenn durch WENNFEHLER() ein "" ausgewiesen wird.
Gruß Werner
.. , - ...
Antworten Top
#23
Hallo

@SNB - Passwort hatte ich mal vergeben da nicht nur ich damit arbeite und einige Tabellen für unserem Mitarbeiter ausgeblendet werden da dort due Gehaltsberechnungen aller Mitarbeier hinterlegt sind. Wäre VBA offen könnte man die Tabellen einfach wieder sichtbar stellen.

Ich verstehe jetzt aber nicht deinen Vorschlag, würde ihn aber gern ausprobieren. Du schreibst ich brauche somit keine Excel Formeln mehr. Meinst du alle ab Spalte AO ????

@neopa - Welche Formeln kommen denn jetzt in AO und fortfolgend ?? Ich habe jetzt zuviele zur Auswahl :)
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Antworten Top
#24
Wenn du hier eine Beispieldatei hochladest sollte die ohne Beschränkungen sein.
Wenn du meinen Vorslag laufen lasst siehst du sofort was passiert.
Antworten Top
#25
Hallo Daniel,

ich helf Dir mal auf die Sprünge Smile

In dieser Zeile
sn = Cells(5, 34).Resize(65, 10)

übernimmt snb den Bereich ab Spalte AH in ein Array. Das Array hat dann die Daten von 65 Zeilen und 10 Spalten ab AH5

In dieser Zeile
If sn(j, 1) > 0 Then
wertet er aus, ob Einträge gt. 0 in der Zelle von Spalte AH bzw. jetzt in der "ersten Spalte" im Array stehen. Wenn ja, gibt's dann die email zu dieser Zeile.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#26
Hallo,

Wenn ich mal Zeit habe muss ich echt eine Schulung zu VBA Programmieren mir organisieren. :(

Habe den COde von SNB als neues Modul hinterlegt wobei ich glaube das dieser bei der Tabelle hinterlegt werden muss. Es kommt aber eine Fehlermeldung:

"Fehler beim kompilieren. Sub oder Function nicht definiert"

So nun stehe ich wieder da mit meinem fehlenden Wissen :(
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Antworten Top
#27
Hallo Daniel,

des wird e' nix, wenn ein e fehlt Smile

hier mal das korrigierte Wort, wo es fehlt:
CreateObject

Wichtig bei einer Fehlerbeschreibung ist übrigens auch immer z.B. die Codezeile oder das markierte Wort,
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#28
verwende den "name' ode 'codename des Arbeitsblattes:
Sheet1, sheets(1) oder sheets(2) oder Tabelle1 oder sheets("Tabelle1") oder noch etwas anderes.

Stimmt: in createobject fehlte den 'e'



Code:
Sub M_snb()
   sn = sheet1.Cells(5, 34).Resize(65, 10)
  
   With createobject("outlook.application")
     For j = 1 To UBound(sn)
       If sn(j, 1) > 0 Then
            With .createitem(j)
               .to = sn(j, 8)
               .Subject = sn(j, 9)
               .body = sn(j, 10) & sn(j, 1)
               .send
             End With
        End If
     Next
    End With
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Daniel Albert
Antworten Top
#29
Bei Subject kommt folgende Fehlermeldung:

   
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Antworten Top
#30
was sind die Werte von j, sn(j,9),sn(j,8), sn(j,10)

Schwebe mit dem Maus über j, sn(j,9) usw.

Welche Zeilel wird gelb ?
Antworten Top


Gehe zu:


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