Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
304to308
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
304to308
304to308
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spalten von Tabelle zu Tabelle kopieren

Spalten von Tabelle zu Tabelle kopieren
03.09.2003 17:29:16
Lothar
Hallo liebes Forum!

Ich habe ja inzwischen gelernt, das "select" möglichst zu vermeiden ist.
Leider weiss ich mit meinem "Macrorecorder-VBA-Wissen" ;) nicht wie!

Situation, die montalich wiederkehrt:

Aus einer Download-Tabelle sollen 4 Spalten (nur Werte) in eine umfangreiche Tabelle (MAIN.XLS) kopiert werden. Allerdings müssen die Spalten an andere Positionen gesetzt werden. Ich habe das per Recorder aufgezeichnet und "etwas verbessert". Gefallen tut es mir aber nicht.

Zumindest habe ich es geschafft, die variablen Namen der Blätter und Tabellen zu ersetzen, da die monatlich bzw. jährlich wechseln.

Die betreffenden Dateien sind offen!

Wie kann folgender Code verbessert werden?

Vielen Dank vorab
Gruss
Lothar


Sub Download_einlesen()
Dim sFile As String
Dim sFile1 As String
Dim sPath As String
Dim sPath1 As String
Dim sPathFile As String
Dim sSheet As String
Dim sSheet1 As String
Windows("Toolbox.xls").Activate
Sheets("Programmdaten").Select
sPath = ThisWorkbook.Path & "\SAPDOWN\" 'Downloadpfad festlegen
sSheet = Range("B21").Value ' Datei-/Blattname wird hier ermittelt
sSheet1 = Range("F21").Value ' Blattname in der Haupttabelle
sFile = sSheet & ".XLS" ' Monats-Dateinamen zusammensetzen
sFile1 = "MAIN.XLS" ' In diese Tabelle müssen die Daten rein
sPathFile = sPath & sFile
Workbooks.Open Filename:=sPathFile, _
UpdateLinks:=False
Application.ScreenUpdating = False
' AB HIER MACRORECORDING (mit kleinen Verbesserungen)
Windows(sFile).Activate
Sheets(sSheet).Select
Columns("A:A").Copy
Windows(sFile1).Activate
Sheets(sSheet1).Select
Range("A1").Select
ActiveSheet.Paste
Windows(sFile).Activate
Sheets(sSheet).Select
Columns("C:C").Copy
Windows(sFile1).Activate
Sheets(sSheet1).Select
Range("C1").Select
ActiveSheet.Paste
Windows(sFile).Activate
Sheets(sSheet).Select
Columns("B:B").Copy
Windows(sFile1).Activate
Sheets(sSheet1).Select
Range("H1").Select
ActiveSheet.Paste
Windows(sFile).Activate
Sheets(sSheet).Select
Columns("E:E").Copy
Windows(sFile1).Activate
Sheets(sSheet1).Select
Range("D1").Select
ActiveSheet.Paste
Cells.Select
Application.CutCopyMode = False
With Selection.Font
.Name = "Courier New"
.Size = 9
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Selection.Columns.AutoFit
Range("A1").Select
Application.ScreenUpdating = True
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten von Tabelle zu Tabelle kopieren
03.09.2003 17:36:34
Hajo_Zi
Hallo Lothar


Sub Test()
Windows(sFile).Sheets(sSheet).Columns("A:A").Copy _
Destination:=Windows(sFile1).Sheets(sSheet1).Range("A1")
Windows(sFile).Sheets(sSheet).Columns("C:C").Copy _
Destination:=Windows(sFile1).Sheets(sSheet1).Range("C1")
Windows(sFile).Sheets(sSheet).Columns("B:B").Copy _
Destination:=Windows(sFile1).Sheets(sSheet1).Range("H1")
Windows(sFile).Sheets(sSheet).Columns("E:E").Copy _
Destination:=Windows(sFile1).Sheets(sSheet1).Range("D1")
With Cells.Font
.Name = "Courier New"
.Size = 9
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Cells.Columns.AutoFit
End Sub


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.
Anzeige
AW: Danke, aber geht nicht !
03.09.2003 17:51:23
Lothar
Danke Hajo,

so etwas ähnliches hatte ich schon mal probiert, ging aber nicht.

Wenn ich deinen Code benutze bekomme ich einen Laufzeitfehler 438:

'Objekt ünterstützt diese Eigenschaft oder Methode nicht!'

Liegt es vielleicht daran, dass ich den Code in der Toolbox habe, und der von dort aufgerufen wird??

Gruss
Lothar
Noch OFFEN! o.T.
04.09.2003 09:44:13
Lothar

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige