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, 2645 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 ...

Microsoft Office

Excel Zellinhalte aus einer Datei in eine andere Excel Datei kopieren und auch aktualisieren

gelöst Frage von Rene1976Microsoft Office4 Kommentare

Hallo, bis jetzt habe ich immer eine Referenz von einer Excelzelle aus einer Datei in eine andere Excelzelle einer ...

Neue Wissensbeiträge
Vmware
VMware Update für den ESXi 5.5 verfügbar
Information von sabines vor 20 StundenVmware

Nach dem ganzen Hickhack um Update mit Microcode Anpassungen und Rückzug, gibt es nun für den ESXi 5.5 ein ...

CPU, RAM, Mainboards

Meltdown und Spectre: Intel zieht Microcode-Updates für Prozessoren zurück

Information von keine-ahnung vor 1 TagCPU, RAM, Mainboards5 Kommentare

Moin, extrem lutztig. Nur gut, dass ich noch nicht beim Probanden-Bingo mitgemacht habe :-) LG, Thomas

Router & Routing
PfSense als Addon auf QNAP
Information von magicteddy vor 1 TagRouter & Routing7 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 1 TagDatenschutz1 Kommentar

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement26 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Server
TEMP-Profile
gelöst Frage von Forseti2003Windows Server21 Kommentare

Guten Morgen, wer kennt sie nicht, die lieben Temporären Benutzerprofile, vorallem immer dann, wenn man sie am wenigsten braucht. ...

Multimedia & Zubehör
Welches Tablet für die Verkäufer?
Frage von Hendrik2586Multimedia & Zubehör16 Kommentare

Guten Morgen meine Lieben, vielleicht könnt ihr mir ja helfen. Es geht um unsere Außendienstmitarbeiter /Verkäufer. Sie sollen demnächst ...

Ubuntu
Ubuntu - Routing mit 2 Netzwerkkarten?
Frage von gabrixlUbuntu13 Kommentare

Hei Folgende Situation: Ich habe zwei virtuelle Maschinen: 1 - Server für DHCP, DNS und Routing - Netzwerkkarte 1: ...