Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Variable Tabelle kopieren und in neue Excel-Datei verschieben

Mitglied: Gimli3311

Gimli3311 (Level 1) - Jetzt verbinden

19.02.2015, aktualisiert 16:39 Uhr, 2905 Aufrufe, 5 Kommentare

Guten Zusammen,

ich bin grad Praktikant bei einem Unternehmen und muss aus verschiedenen Excel Dateien die jeweils eine Tabelle haben eine groß Datei machen.
Eine Datei ist Folgendermaßen aufgebaut es ist eine Art Logbuch das bei Zelle A29 anfängt und N29 endet. Nach unten hin ist sie Variable je nachdem wie viel Einträge vorhanden sind.
Nun muss ich alle Dateien durchsuchen die Tabellen kopieren und in eine neue Datei schreiben.

Meine Probleme sind:
- Ich kann einen Wertebereich definieren aber nur einen festen. Wie kann ich es so programmieren das es variabel ist und den Wertebereich so setzt das es erkennt hier kommt nichts mehr?
- Wenn ich den Wertebereich habe, kann ich ihn zwar kopieren aber nur in der Excel-Datei, heißt wenn ich es in eine neue Datei kopieren will funktioniert es nicht.

Wäre schön wenn Ihr mir weiterhelfen könntet. Bin was VBA angeht Neuling.

Gruß Gimli3311
Mitglied: a47ae-ro
19.02.2015, aktualisiert um 12:39 Uhr
Hallo, leider habe ich nicht so ganz verstanden, wo jetzt das Problem ist.
Wenn du einen variablen Bereich hast kannst du die Daten als Tabelle formatieren und dieser einen Namen geben (z.B. Log1) und mit diesem Namen dann alle Daten, welche in der Tabelle liegen ansprechen.

Wenn du diese Daten jetzt in einem anderen Dokument verknüpfen möchtest, sollte dir hier geholfen werden.
https://support.office.com/de-AT/article/eine-Beziehung-zwischen-zwei-Ta ...
Ich hoffe ich konnte dir etwas weiterhelfen!
Mit freundlichen Grüßen,
Robin
Bitte warten ..
Mitglied: Gimli3311
19.02.2015, aktualisiert um 13:33 Uhr
Hallo a47ae-ro,

erstmals Danke für deine schnell Antwort

Zu meinem Ersten Problem das die Tabellen unterschiedlich lang sind muss ich doch dann bei jeder Excel-Datei die Tabelle formatieren und einen Namen geben oder? Da sehe ich das Problem das es über 500 verschiedene Excel-Dateien sind.

Danke für den Link, hab mich da mal reingelesen aber dort steht das es den s-verweis ersetz und nur möglich ist zwischen zwei Tabellen in der gleichen Datei und nicht von Datei zu Datei.
Als Beispiel: Datei 1. Logbuch Tabelle
Datei 2. Logbuch Tabelle
Datei 3. soll die Logbuch Tabellen von 1 und 2 kopiert bekommen.

Ich hoffe es ist bisschen verständlicher geworden.
Freue mich auf jede Hilfe und jeden Link.

Gruß Gimli3311

EDIT:

Hier mal das Vorhaben das ich habe:
01.
Sub Tabelle_kopieren() 
02.
03.
' Tabelle_kopieren Makro 
04.
05.
'Dateien müssen beide offen sein 
06.
07.
    'Datei ausgewählt. Zukunft --> Durch Variable angegeben 
08.
    Windows("IT37660_Logbuch.xlsx").Activate 
09.
    'Den zu makierten bereich selektiert. Zukunft --> Wertebereich automatisch defninieren 
10.
    Range("A29:N31").Select 
11.
    'Bereich kopiert 
12.
    Selection.Copy 
13.
    'Allgmeine Logbuch ausgewählt 
14.
    Windows("Allg_Logbuch.xlsx").Activate 
15.
    'Die Zelle ausgewählt in den die Kopier kopiert werden soll. Zukunft --> Schauen wo die nächste Zeile ist 
16.
    Range("A32").Select 
17.
    'Kopie eingefügt 
18.
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ 
19.
        SkipBlanks:=False, Transpose:=False 
20.
     
21.
End Sub
Bitte warten ..
Mitglied: goldfisch
LÖSUNG 19.02.2015, aktualisiert um 16:39 Uhr
hallo,

das läuft in etwa so, wie Du es auch in Excel selbst machen würdest:
- Mappe öffnen
- das richtige Blatt auswählen
- in Spalte A ganz nach unten springen - auf [A65535]
- mit Ctlr-Cursor_hoch auf die letzte gefüllte Zelle springen

In VBA geht das so:
- Mappe öffnen
- das richtige Blatt auswählen
With worksheets("Bla")... End With)
- letzte gefüllte Zeile bestimmen:
maxrow = Range(Cells(1, 1), Cells(1, Rows.count).End(xlUp).row
Rows.count ist soweit ich weiß immer 65535, besser, man verwendet keine Konstante.
Hier wird die letzte Zelle in Spalte A bestimmt. Wenn das unsicher ist, ob die gefüllt ist, dann nimm eine andere Spalte.
So bestimmst Du den Bereich, der zu kopieren ist.

Dann kopierst Du den Inhalt, am besten auf eine VBA-Variable und nicht in die Zwischenablage, so etwa:
- DIM tab as Variant 
   tab = range("A29:N" & maxrow).value
- zur Gesamtmappe wechseln und dort hineinkopieren, etwa
workbooks("Gesamt").worksheets(1).[A500].value = tab
Du kannst Dir ja merken, wo die nächste freie Zeile in der Gesamttabelle ist.

HTH,

goldfisch
Bitte warten ..
Mitglied: 114757
LÖSUNG 19.02.2015, aktualisiert 20.02.2015
Moin zusammen,
das ist schnell zusammengeschrotet . Guckst du hier:
(In Zeile 4 einfach den Pfad zu den *.xlsx Dateien angeben und freuen. Die Daten werden im aktuellen Sheet untereinander zusammengefasst. Der Rest ist im Code kommentiert)
01.
Sub ImportTables() 
02.
    Dim wb As Workbook, fso As Object, rngOut As Range, f As String 
03.
    'Pfad in dem die *.xlsx Dateien liegen 
04.
    Const PATHFILES = "D:\daten" 
05.
     
06.
    Application.ScreenUpdating = False 
07.
    Application.DisplayAlerts = False 
08.
     
09.
    With ActiveSheet 
10.
        'erste Ausgabezelle festlegen 
11.
        Set rngOut = .Range("A1") 
12.
        'hole die erste *.xlsx-Datei des Ordners 
13.
        f = Dir(PATHFILES & "\*.xlsx") 
14.
        'Loope solange bis alle Dateien verarbeitet wurden 
15.
        Do While f <> "" 
16.
            'öffne Datei 
17.
            Set wb = Workbooks.Open(PATHFILES & "\" & f, ReadOnly:=True) 
18.
            'kopiere den Inhalt der Tabelle in das aktuelle Sheet 
19.
            With wb.Sheets(1) 
20.
                .Range("A29:N" & .Cells(Rows.Count, 1).End(xlUp).Row).Copy rngOut 
21.
            End With 
22.
            'schließe Dokument wieder 
23.
            wb.Close False 
24.
            'Ausgabezelle für den nächsenm Import ermitteln 
25.
            Set rngOut = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) 
26.
            'hole Namen der nächsten Datei 
27.
            f = Dir 
28.
        Loop 
29.
    End With 
30.
    Application.ScreenUpdating = True 
31.
    Application.DisplayAlerts = True 
32.
End Sub
Gruß jodel32
Bitte warten ..
Mitglied: Gimli3311
19.02.2015 um 15:36 Uhr
Vielen Dank Ihr zwei =)

Jodel32 dein Code funktioniert perfekt hast mir super weitergeholfen
Es macht genau das was es soll =)

Ich werde mich aber spätestens morgen wieder melden da ich mir sicher bin das ich noch einige Sachen nicht hinbekomme.
Wills aber erst mal selber versuchen, bevor ich euch um Rat bitte
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Seitenumbruch in Excel soll neue Tabelle sein

gelöst Frage von killtecMicrosoft Office10 Kommentare

Hallo zusammen, ein Kollege trat gerade an mich ran und hatte gefragt, ob es möglich ist, eine Exceltabelle die ...

Microsoft Office

Excel VBA UserForm1 - Daten in neue Datei kopieren

gelöst Frage von abuelitoMicrosoft Office10 Kommentare

Hallo an Alle, ich habe wieder mal ein Problem mit meiner UserForm1. Ich habe eine UserForm1 und möchte über ...

Microsoft Office

Excel Tabelle gefiltert auf neues Tabellenblatt

gelöst Frage von Florian86Microsoft Office3 Kommentare

Hallo, ich habe folgendes Problem und zwar möchte ich eine Excel Tabelle mit folgenden Aufbau Datum Lfd. Nr. Menge ...

VB for Applications

VBA-Excel Tabellen verschieben bzw splitten problem

gelöst Frage von SpikeeeVB for Applications8 Kommentare

Hallo Liebe Gemeinde! Ich bin relativer Neuling in VBA Programmierung, versuche mich mit meinem Kollegen aber gerade an einer ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing18 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware10 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...