Clever-Excel-Forum

Normale Version: Zellen - Sverweis nur wenn Wert größer 0
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
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 ?
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.
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 :)
Wenn du hier eine Beispieldatei hochladest sollte die ohne Beschränkungen sein.
Wenn du meinen Vorslag laufen lasst siehst du sofort was passiert.
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.
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 :(
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,
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
Bei Subject kommt folgende Fehlermeldung:

[attachment=8587]
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 ?
Seiten: 1 2 3 4