Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code ausführen

Forumthread: Code ausführen

Code ausführen
Einzel
Hallo,
habe folgenden Code:
Sub Result_einlesen()
'alten Satz löschen
Cells.Select
Selection.ListObject.QueryTable.Delete
Selection.ClearContents
'neue Daten einlesen
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:="ODBC;DSN=result", _
Destination:=Range("$A$1")).QueryTable
.CommandText = Array( _
"SELECT Flaw.FlawNo, Flaw.FlawPeriodNo, Flaw.PieceNo, Flaw.FlawLineNo, Flaw.Count, Flaw. _
SignalValues" & Chr(13) & "" & Chr(10) & "FROM result.Flaw Flaw" _
)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Tabelle_Abfrage_von_result"
.Refresh BackgroundQuery:=False
End With
End Sub
Dieser wird im Tabellenblatt 2 aufgerufen. Er soll es aber im Tabellenblatt 1 ausführen. Wie kann ich den Code verändern das er es im hintergrund auf Tabelle 1 macht ohne sichtlich auf das Tabellenblatt 1 zu wechseln.
Gruß
Stephan
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Code ausführen
26.01.2011 14:07:43
praetorius
Hallo Stephan,
zu Beginn des Codes noch
Application.ScreenUpdating = False
hinzufügen. So wird die Aktualisierung des Bildschirms während der Code-Ausführung unterdrückt.
good Luck
praetorius
quatsch, und was ist mit ActiveSheet? o.T.
26.01.2011 14:12:06
Josef
Gruß Sepp

Anzeige
AW: Code ausführen
26.01.2011 14:11:04
Josef

Hallo Stephan,
das müsste laufen.

Sub Result_einlesen()
  Dim rng As Range
  
  With Sheets("Tabelle1")
    'alten Satz löschen
    .UsedRange.ListObject.QueryTable.Delete
    .UsedRange.ClearContents
    Set rng = .Range("A1")
    'neue Daten einlesen
    With .ListObjects.Add(SourceType:=0, Source:="ODBC;DSN=result", Destination:=rng).QueryTable
      .CommandText = Array("SELECT Flaw.FlawNo, Flaw.FlawPeriodNo, Flaw.PieceNo, Flaw.FlawLineNo, Flaw.Count, Flaw.SignalValues" & Chr(13) & "" & Chr(10) & "FROM result.Flaw Flaw")
      .RowNumbers = False
      .FillAdjacentFormulas = False
      .PreserveFormatting = True
      .RefreshOnFileOpen = False
      .BackgroundQuery = True
      .RefreshStyle = xlInsertDeleteCells
      .SavePassword = False
      .SaveData = True
      .AdjustColumnWidth = True
      .RefreshPeriod = 0
      .PreserveColumnInfo = True
      .ListObject.DisplayName = "Tabelle_Abfrage_von_result"
      .Refresh BackgroundQuery:=False
    End With
  End With
  
  Set rng = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Code ausführen
26.01.2011 14:19:56
Einzel
OK Danke klappt nun.
Grüße
Stephan
AW: Code ausführen
26.01.2011 14:20:23
Hajo_Zi
Hallo Stephan,
Option Explicit
Sub Result_einlesen()
'alten Satz löschen
With Worksheets("Tabelle1")
.Cells.ListObject.QueryTable.Delete
.Cells.ClearContents
'neue Daten einlesen
With .ListObjects.Add(SourceType:=0, Source:="ODBC;DSN=result", _
Destination:=.Range("$A$1")).QueryTable
.CommandText = Array("SELECT Flaw.FlawNo, Flaw.FlawPeriodNo, Flaw.PieceNo, Flaw. _
FlawLineNo, Flaw.Count, Flaw. SignalValues" & Chr(13) & "" & Chr(10) & "FROM result.Flaw Flaw")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Tabelle_Abfrage_von_result"
.Refresh BackgroundQuery:=False
End With
End With
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige