Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Makro Excel

Betrifft: Makro Excel von: Christopher
Geschrieben am: 14.08.2014 12:21:36

Hi zusammen,

ich benötige ein Makro, das mir die Daten in meiner Datei täglich aktualisiert und speichert. Idealerweise ohne Excel dabei zu öffnen. Wenns nur mit öffnen geht, ist das auch nicht sooo dramatisch.

Gibt es da wohl irgendetwas?

Danke vorab!

Gruß
Chris

  

Betrifft: AW: Makro Excel von: Klaus M.vdT.
Geschrieben am: 14.08.2014 12:39:40

Hallo Chris,

ohne Excel zu öffnen startest du auch kein Makro. Du fährst ja auch nicht mit dem Auto, ohne vorher einzusteigen :-)

Klar geht das. Im simpelsten Falle so (in "DieseArbeitsmappe")

Private Sub Workbook_Open()
    ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & Format(Now, "YYYYMMDDHHMM") &  _
ActiveWorkbook.Name, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
Das wird dir noch nicht reichen, aber da nur du deine Arbeitsmappe kennst und weisst wie die Aktualisierungen usw. vonstattengehen fällt mehr Hilfe sehr schwer.

Grüße,
Klaus M.vdT.


  

Betrifft: AW: Makro Excel von: Christopher
Geschrieben am: 14.08.2014 13:22:57

Hallo Klaus,

okay, danke erst einmal :)
Die Aktualisierungen erfolgen automatisch mit Formeln, sobald man Excel öffnet.
Bräuchte halt ein Makro, das morgens Excel einmal öffnet, speichert & dann schließt.

Geht da was mit einer bestimmten Uhrzeit?

Vielen, vielen Dank!


  

Betrifft: AW: Makro Excel von: Klaus M.vdT.
Geschrieben am: 14.08.2014 13:30:40

Hallo Chris,
Bräuchte halt ein Makro, das morgens Excel einmal öffnet
Inception: Excel muss offen sein, um per Makro Excel zu öffnen.

Grüße,
Klaus M.vdT.


  

Betrifft: AW: Makro Excel von: Christopher
Geschrieben am: 14.08.2014 13:43:47

Hab ich gerafft, danke !!!!

Sorry, aber ich hab da noch ein weiteres Problem :(

Ich habe eine Liste, in der ich Schulungstermine überwache...Da gibt es eine Spalte "nächste Schulung in Wochen"...die Wochen werden automatisch mit der Formel "=(F3*(365/12)-(HEUTE()-E3))/7" errechnet.
& auch genau diese Spalte wird mit einem Makro überwacht, das mir immer wenn die Wochenanzahl unter 20 sinkt, mir eine Mail geschickt werden soll....funktioniert aber irgendwie nur wenn ich z.B. "19" manuell in die Zelle schreibe...kann das Makro nicht funktionieren, wenn die Zellen automatisch gefüllt werden?

Danke!


  

Betrifft: AW: Makro Excel von: Klaus M.vdT.
Geschrieben am: 14.08.2014 13:55:55

Hi,
eigentlich gilt ja: neues Problem, neuer Beitrag :-)
Ich sehe dein Makro nicht. Was ich dir schon so sagen kann: Das Makro wird bestimmt "onChange" ausgelöst? Das entnehme ich aus deinem "wenn ich 19 manuell schreibe". Löse das Makro anders aus als onChange, zB. onCalculate. Aber pass auf, dass es dir dann nicht 30000 Mail schickt.


  

Betrifft: AW: Makro Excel von: Christopher
Geschrieben am: 14.08.2014 14:04:34

Das hier ist mein aktuelles Makro:

Private Sub Workbook_SheetChange(ByVal Sh As Object, _
  ByVal Target As Range)
  On Error GoTo fehler
  Const Minimumwert As Double = 3
  Const ÜberwachteZelle As String = "$N$3"
  
  If Target.Address = ÜberwachteZelle Then
  If CDbl(Target.Value) < Minimumwert Then
  Call ZellÜberwachung
  End If
  End If
fehler:
  If Err = 13 Then
  MsgBox "Bitte geben Sie nur nummerische Werte ein!", _
  vbExclamation + vbOKOnly, "Eingabefehler ..."
  End If
  End Sub
Sub ZellÜberwachung()
Dim oOL As Outlook.Application
Dim oOLMI As Outlook.MailItem

Set oOL = New Outlook.Application
Set oOLMI = oOL.CreateItem(olMailItem)

'Application.DisplayAlerts = True

With oOLMI
.To = "christopher.roth@do.panopa.com"
.Subject = "Nachschulung intern"
.Body = "Hallo Christopher," & vbNewLine & vbNewLine & _
"bitte um Nachschulung intern kümmern"
.Send

End With

Set oOL = Nothing
Set oOLMI = Nothing
End Sub