Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1196to1200
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige