Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
864to868
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
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien zusammenführen - In Spalten kopieren

Dateien zusammenführen - In Spalten kopieren
06.05.2007 09:44:00
Karin
Guten Morgen Excelforum,
als VBA-Laie bin ich wieder einmal auf Eure Hilfe angewiesen:
Ich bekomme aus einer Umfrage Excel-Dateien zurück, die ich in einer Gesamtdatei auswerten muss. Die Antworten speichere ich in einem Ordner C:\Fortbildung, die einzelnen Dateien nenne ich Fortbildung_1.xls, Fortbildung_2.xls, usw. Wieviele Dateien es werden, weiß ich noch nicht, es können aber durchaus 100 Dateien sein. Die Antworten stehen immer im Zellbereich C11:D47.
Nun möchte ich in die Datei C\Fortbildung\Auswertung.xls, beginnend in C11:D47 die Antoworten aus der ersten Datei Fortbildung_1.xls kopieren, daneben in Spalte E11:F47 die Antworten aus der zweiten Datei, in G11:H47 die Antworten aus der dritten DAtei, usw. Die Spalten der Anwortdateien, die immer in C11:D47 stehen, sollen also in der Auswertung nebeneinander kopiert werden. In der Recherche habe ich immer nur die Möglichkeit gefunden, in Zeilen untereinander zu kopieren.
Es wäre wunderbar, wenn mir jemand helfen könnte!
Karin

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien zusammenführen - In Spalten kopieren
06.05.2007 10:17:00
Gerd
Hallo Karin,
einlesen einzeln oder am Stück alle ?
Gruß Gerd

AW: Dateien zusammenführen - In Spalten kopieren
06.05.2007 10:40:00
Karin
Hallo Gerd,
am liebsten wäre mir, dass alle DAteien eingelesen werden, wenn ich das Makro starte. Die Dateien sollten dann auch wieder geschlossen werden.
Gruß
Karin

AW: Dateien zusammenführen - In Spalten kopieren
06.05.2007 10:36:00
Oberschlumpf
Hi Karin
Versuch es mal mit diesem Makro:
(füge es in deine Datei Auswertung.xls in ein allg. Modul ein - kannst es dann über Extras/Makro/Makros starten)

Sub Kopieren()
Dim lstrFile As String, lstrPath As String, liCol As Integer
lstrPath = "C:\Fortbildung\"
lstrFile = Dir(lstrPath & "Fortbildung_*.xls")
liCol = 67
Application.ScreenUpdating = False
Do Until lstrFile = ""
If lstrFile  ThisWorkbook.Name Then
Workbooks.Open lstrPath & lstrFile
ActiveWorkbook.Sheets(1).Range("C11:D47").Copy
ThisWorkbook.Sheets(1).Activate
ThisWorkbook.Sheets(1).Range(Chr(liCol) & 11).Select
ActiveSheet.Paste
Application.CutCopyMode = False
liCol = liCol + 2
Workbooks(lstrFile).Close False
lstrFile = Dir
End If
Loop
Application.ScreenUpdating = True
End Sub


Konnte ich helfen?

Anzeige
AW: Dateien zusammenführen - In Spalten kopieren
06.05.2007 10:44:33
Karin
Hallo Oberschlumpf,
mich haut's um! Suuuuuuuuuuper, herzlichen Dank!
Karin

hehe...danke danke :-) oT
06.05.2007 10:48:32
Oberschlumpf

@ Oberschlumpf
06.05.2007 10:48:40
Josef
Hallo,
gut gemacht, aber besser ohne "Select" und "Activate".
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Kopieren()
Dim lstrFile As String, lstrPath As String, intC As Integer
Dim objThWBSh As Worksheet, objWB As Workbook

Set objThWBSh = ThisWorkbook.Sheets(1)

lstrPath = "C:\Fortbildung\"
lstrFile = Dir(lstrPath & "Fortbildung_*.xls")
intC = 3

On Error GoTo ErrExit

GMS

Do Until lstrFile = ""
    If lstrFile <> ThisWorkbook.Name Then
        Set objWB = Workbooks.Open(lstrPath & lstrFile)
        objWB.Sheets(1).Range("C11:D47").Copy objThWBSh.Cells(11, intC)
        intC = intC + 2
        objWB.Close False
        lstrFile = Dir
    End If
Loop

ErrExit:

GMS True

Set objThWBSh = Nothing
Set objWB = Nothing

End Sub

Sub GMS(Optional ByVal Modus As Boolean = False)

With Application
    .ScreenUpdating = Modus
    .EnableEvents = Modus
    .DisplayAlerts = Modus
    .EnableCancelKey = IIf(Modus, 1, 0)
    .Calculation = IIf(Modus, -4105, -4135)
    .Cursor = IIf(Modus, -4143, 2)
End With

End Sub

Gruß Sepp

Anzeige
AW: @ Oberschlumpf
06.05.2007 11:54:37
Oberschlumpf
Hi Sepp
Ja, haste ja Recht...selects und activates sind verpöhnt :)...aber kommt ja nur 2x vor/durchgang...und mit Screenup. = false siehts auch keiner :-)
Aber trotzdem - deine Idee ist besser.
Ciao
Thorsten

AW: @ Oberschlumpf und Sepp
06.05.2007 18:01:01
Karin
Beiden Cracks den allerbesten Dank!! Werde die Lösung von Sepp auch noch testen.
Gruß
Karin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige