ist es möglich einen Code mit dem ich Tabellen aktualisiere oder Daten importiere jede Stunde automatisch auszulösen? Wenn ja wie würde das denn aussehen?
Application.Ontime Now + TimeSerial(1, 0, 0), "Makroname"
Gruß Daniel
https://msdn.microsoft.com/de-de/vba/excel-vba/articles/querytable-object-excel
Refresh Periode
1x .Add, dann Refresh
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;X:TemperaturMusikraum.csv", Destination:=Range("$A$2"))
.Name = "TemperaturMusikraum"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(9, 1, 1, 1, 9, 9, 9, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
########## Beispiel für ein periodische update
class-modul: http://www. _
office-loesung.de/p/viewtopic.php?f=166&t=759678
Private Sub Workbook_Open()
c00 = ThisWorkbook.Path & "\data.csv"
If Dir(c00) = "" Then
CreateObject("scripting.filesystemobject").createtextfile(c00).write "aa,bb,cc,dd" & _
vbLf & "aa,bb,cc,dd"
With ThisWorkbook.Sheets(1).QueryTables.Add("TEXT;" & c00, ThisWorkbook.Sheets(1).Cells( _
1))
.RefreshPeriod = 20
.Refresh False
End With
End If
Set Q_T.qt = ThisWorkbook.Sheets(1).QueryTables(1)
End Sub
################ events ###############
Public WithEvents qt As QueryTable
Private Sub qt_AfterRefresh(ByVal Success As Boolean)
End Sub
Private Sub Workbook_Open()
c00 = ThisWorkbook.Path & "\data.csv"
If Dir(c00) = "" Then CreateObject("scripting.filesystemobject").createtextfile(c00).write " _
aa,bb,cc,dd" & vbLf
With ThisWorkbook.Sheets(1).QueryTables
If .Count = 0 Then .Add "TEXT;" & c00, .Parent.Cells(1)
Set qt = .Item(1)
End With
With qt
.RefreshPeriod = 20
.Refresh False
End With
End Sub
mfgDie erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen