A

Problem Makro
Aktuellste Datei eines Verzeichnisses ermitteln von Andreas Steffens:

Sub Aktuellste_Datei()
    Dim Akt_Datei As String, Datei As String
    Dim Akt_Zeit As Double, Zeit As Double
    Const Verzeichnis = "c:\Eigene Dateien\Excel\"
    Akt_Datei = Dir(Verzeichnis & "*.xls")
    Akt_Zeit = CDate(FileDateTime(Verzeichnis & Akt_Datei))
    Do
        Datei = Dir()
        If Datei <> "" Then
            Zeit = CDate(FileDateTime(Verzeichnis & Datei))
            If Zeit > Akt_Zeit Then
                Akt_Zeit = Zeit
                Akt_Datei = Datei
            End If
        End If
    Loop Until Datei = ""
    MsgBox Akt_Datei & " (" & Format(Akt_Zeit, "DD.MM.YY hh:mm:ss") & ")"
End Sub
Änderungsdatum eintragen
(wenn in Spalte A eine Eingabe erfolgt, wird in Spalte B das Datum der Änderung geschrieben)
von Hans W. Herber:

Sub auto_open()
    Worksheets(1).OnEntry = "DatumEintragen"
End Sub

Sub DatumEintragen()
Dim AC As Range
    Set AC = Application.Caller
    If AC.Column <> 1 Then Exit Sub
    AC.Offset(0, 1) = Format(Date, "dd.mm.yy")
End Sub
Automatisches Starten von Makros beim Öffnen und Schließen von Dateien Es gibt 2 Möglichkeiten:
entweder folgende Makros in ein Allgemeines Modul eingeben.
Diese sind kompatibel zu Excel 5 und 95:

Sub Auto_open()
MsgBox "aus ""allgemeinem Modul"""
End Sub

Sub auto_close()
MsgBox "aus ""allgemeinem Modul"""
End Sub

Sie haben aber den Nachteil, dass sie beim Öffnen der Datei durch ein Makro nicht ausgeführt werden. Dies muss dann über "Application.Run Macro" nachgeholt werden.
Oder folgende Makros in "DieseArbeitsmappe" kopieren. In einem normalen
Modul erfüllen sie nicht ihre Funktion.
Sie sind zwar besser, weil sie auf jeden Fall ausgeführt werden, aber Excel 5 und 95 können damit nichts anfangen:

Private Sub Workbook_Open()
MsgBox "Makro aus ""DieseArbeitsmappe"""
End Sub

Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Makro aus ""DieseArbeitsmappe"""
End Sub
Aktienkurse im Web abrufen 'Es muß sich ein Tabellenblatt mit dem Namen Daten in der Arbeitsmappe befinden.
'Info: Das Grundmakro stammt von Hans W. Herber und wurde von mir ein bisschen angepaßt.


Sub Aktienkurs_Abrufen()
Dim wName$, WKN$
Application.ScreenUpdating = False
WKN = InputBox("WKN-Nr.:", "Web-Abfrage", 879530) 'T-Aktie
If WKN = "" Then Exit Sub
wName = "http://de.finance.yahoo.com/q?s=" & WKN & ".f"
Worksheets.Add after:=Worksheets(Worksheets.Count)
WebAufruf wName, ActiveSheet
Worksheets("Daten").Range("A2:G2").Value = Range("A17:G17").Value
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Worksheets("Daten").Select
Range("A1").Select
Columns("A:G").AutoFit
End Sub

Function WebAufruf(wName$, TB As Worksheet)
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;" & wName, _
Destination:=Range("A1"))
.FieldNames = False
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = False
.SaveData = True
End With
End Function

 

Letzte Änderungen auf dieser Seite am 29.10.2006

Valid XHTML 1.0 Transitional    Valid CSS!

Berti's ExcelABC mit vielen Tipps und Tricks rund um Excel und die Makros bzw. VBA

Seitenanfang

A B C D E F G H i J K L M N O P Q R S T U V W X Y Z
Excel: 39  |  Formeln: 1  |  Funktionen: 8  |  Makro / VBA: 40  |  Hintergrundinfos: 7  |  Beispieldateien: 11  |  Komplettlösungen: 1