Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1204to1208
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

bestimmte Tabellen exportieren

bestimmte Tabellen exportieren
Maris
Hi liebe VBA - Experten,
ich habe 7 bestimmte Tabellen ("Tabelle1","Tabelle2", ....) Die verschieden viele Zeilenreihen haben. Müßte also auch eine Prüfung der letzten befüllten Zelle in Spalte A eingebaut werden.
Die Überschriften in den jeweiligen Tabellen stehen in Zeile 4 im Spaltenbereich A:J.
Der Inhalt der Tabellen soll in die Tabelle ("Totals") kopiert werden die die selben Überschriften hat die allerdings in Zeile 1 stehen.
Da ich das laufend machen möchte wäre es ideal wenn die Daten bei jedem Export immer am Ende der Daten in der Tabelle ("Totals") angefügt werden.
Könnte mir jemand helfen das per Makro zu automatisieren?
Viele Grüsse!
Maris
AW: bestimmte Tabellen exportieren
24.03.2011 12:28:48
Hajo_Zi
Hallo Maris,
eine Datei wär nicht schlecht gewesen. Darum ungetestet.
Option Explicit
Private Sub Schutz()
Dim WsTabelle As Worksheet
Dim Loletzte1 As Long
Dim Loletzte2 As Long
With Worksheets("Totals")
For Each WsTabelle In Sheets
If UCase(WsTabelle.Name)  "TOTALS" Then
Loletzte1 = IIf(IsEmpty(.Cells(.Rows.Count, 4)), _
.Cells(.Rows.Count, 4).End(xlUp).Row, .Count) + 1
Loletzte2 = IIf(IsEmpty(WsTabelle.Cells(WsTabelle.Rows.Count, 4)), _
WsTabelle.Cells(WsTabelle.Rows.Count, 4).End(xlUp).Row, WsTabelle.Rows. _
Count)
If Loletzte2 > 4 Then
WsTabelle.Range("A5:J" & Loletzte2).Copy .Cells(Loletzte1, 1)
End If
End If
Next WsTabelle
End With
End Sub

Anzeige
AW: bestimmte Tabellen exportieren
24.03.2011 12:32:05
Maris
Danke Hajo,
ich werde den Code gleich testen... Muß ich allerdings nicht noch die Tabellen die exportiert werden sollen irgendwo im Makro definieren?
Gruß,
Maris
AW: bestimmte Tabellen exportieren
24.03.2011 12:40:39
Hajo_Zi
Hallo Maris,
es werden alle kopiert außer "Totals", so hatte ich das interpretiert.
Gruß Hajo
AW: bestimmte Tabellen exportieren
24.03.2011 12:46:13
Maris
Es sollen nur die vorher bestimmten7 Tabellen angesprochen werden, die ich vorher manuell festlege... alle anderen Tabellen sollen nicht exportiert werden.
AW: bestimmte Tabellen exportieren
24.03.2011 12:50:52
Hajo_Zi
Hallo Maris,
dann mußt Du die Zeile ändern
If UCase(WsTabelle.Name) "TOTALS" Then
in
If UCase(WsTabelle.Name) = "TABELLE1" Or UCase(WsTabelle.Name) = "TABELLE2" Then
Gruß Hajo
Anzeige
AW: bestimmte Tabellen exportieren
24.03.2011 14:24:25
Maris
und bei mehereren Tabellen dann so?
  • If UCase(WsTabelle.Name) = "TABELLE1" Or UCase(WsTabelle.Name) = "TABELLE2" Or UCase(WsTabelle.Name) = "TABELLE3" Then

  • usw.
    Gruß, Maris
    AW: bestimmte Tabellen exportieren
    24.03.2011 14:41:45
    Hajo_Zi
    Hallo Maris,
    das hatte ich doch vorgeschlagen. 2 hätte ich auch schon als mehrere angesehen.
    Gruß Hajo
    AW: bestimmte Tabellen exportieren
    24.03.2011 14:56:18
    Maris
    Oki. wollte nur sichergehen ob die Logik stimmt! Vielen Dank Hajo :-)!
    AW: bestimmte Tabellen exportieren
    24.03.2011 15:31:37
    Maris
    Hallo Hajo,
    muß jetzt doch eine Beispieltabelle hochladen, da der Export nicht funktioniert....
    Er macht garnichts :-(
    https://www.herber.de/bbs/user/74113.xls
    Anzeige
    AW: bestimmte Tabellen exportieren
    24.03.2011 15:46:08
    Hajo_Zi
    Hallo Maris,
    er macht nichts weil Du den Code nicht so übernommen hast wie Ich es geschrieben hatte.
    Ich hatte geschrieben "TABELLE1" das ist was anderes als "Tabelle1"
    Gruß Hajo
    AW: bestimmte Tabellen exportieren
    24.03.2011 16:04:29
    Maris
    hab ich leider auch schon probiert.... Fehlermeldung nach debugggen
    If UCase(WsTabelle.Name) = "TABELLE3" Or UCase(WsTabelle.Name) = "TABELLE5" Then
    Loletzte1 = IIf(IsEmpty(.Cells(.Rows.Count, 4)), _
    .Cells(.Rows.Count, 4).End(xlUp).Row, .Count) + 1
    
    Laufzeitfehler '438'
    Objekt unterstützt diese Eigenschaft oder Methode nicht.
    Anzeige
    AW: bestimmte Tabellen exportieren
    24.03.2011 16:17:25
    Hajo_Zi
    Hallo Maris,
    Loletzte1 = IIf(IsEmpty(.Cells(.Rows.Count, 4)), _
    .Cells(.Rows.Count, 4).End(xlUp).Row, .Rows.Count) + 1
    Gruß Hajo
    AW: bestimmte Tabellen exportieren
    24.03.2011 16:26:42
    Maris
    Danke :-D!!!
    AW: bestimmte Tabellen exportieren
    25.03.2011 09:26:57
    Maris
    Hallo Hajo,
    ich würde gerne den Code mehr verstehen lernen... Könntst du mir bitte kurz erklären:
  • If UCase(WsTabelle.Name) = "TABELLE1"
  • schließe ich durch die Anweisung die Tabelle(n) aus?
  • Loletzte1 = IIf(IsEmpty(.Cells(.Rows.Count, 4))

  • Warum hast du 2 ma lotetzte als variabl deklariert und was bedeutet die Anweisung Iif(IsEmpty)?
    Über eine Antwort freue ich mich, so kann ich mein VBA Wissen ein wenig aufstocken ;-)!
    Gruß,
    Maris
    Anzeige
    AW: bestimmte Tabellen exportieren
    25.03.2011 09:38:57
    Hajo_Zi
    Halo Maris,
    eine Antwort ist doch selbstveständlich, wenn sich jemand mit dem Code auseinandersetzt.
    Kommentare mache ich nur selten, da auch nur selten eine Rückmeldung kommt.
    Ucase wandeld den Werrt in Großbuchstaben um, da jemand Tabelle.. vielleicht auch anders schreib.
    Ich brauch 2x Loletzte da ich eine Tabelle habe in die ich schreibe nach der letzten belegeten Zelle in Spalt D und ich muss in der Tabelle die ich kopiere auch den Bereich feststellen.
    IsEmppty bedeutet leer. Ich benutze diese aufwendige Methode für die letzte Zeile und nicht nur
    .Cells(.Rows.Count, 4).End(xlUp).Row
    da diese Methode einen falschen Wert zurückgibt falls die letzte Zelle in der Spalte belegt ist.
    Gruß Hajo
    Anzeige
    AW: bestimmte Tabellen exportieren
    25.03.2011 10:01:36
    Maris
    Danke für deine Antwort! Was mich jetzt noch rasch interessiert ist...
  • If UCase(WsTabelle.Name) "TOTALS" Then
  • hier schiessen die Tabelle Totals aus....
    und mit
  • If UCase(WsTabelle.Name) = "TABELLE1"

  • steuern wir eine bestimmte Tabelle an. Richtig?
    Tabelle1 ist dann auch der echte Tabellenname und nicht der im Excel Tab geschriebene, oder?
    Güßle,
    Maris
    AW: bestimmte Tabellen exportieren
    25.03.2011 10:22:25
    Hajo_Zi
    Hallo Maris,
    das hastr Du richtig erkannt. In dem Code wird der Name, der im Register steht benutzt nicht der interne Name, der interne wäre WsTabelle.CodeName.
    Gruß Hajo
    Anzeige
    AW: bestimmte Tabellen exportieren
    25.03.2011 11:28:05
    Maris
    probiere gerade krampfhaft gerum nur inhalte einzufügen...
    PasteSpecial Paste:=xlValues an
    WsTabelle.Range("A5:J" & Loletzte2).Copy .Cells(Loletzte1, 1)
    anhängen geht ja leider nicht...
    AW: bestimmte Tabellen exportieren
    25.03.2011 11:35:21
    Hajo_Zi
    Hallo Maris,
    ' ersetzen
    WsTabelle.Range("A5:J" & Loletzte2).Copy .Cells(Loletzte1, 1)
    ' durch
    WsTabelle.Range("A5:J" & Loletzte2).Copy
    .Cells(Loletzte1, 1).PasteSpecial Paste:=xlValues
    ' und vor end Sub
    Application.CutCopyMode = False
    

    Gruß Hajo
    Anzeige
    AW: bestimmte Tabellen exportieren
    25.03.2011 12:01:52
    Maris
    Vielen Dank!

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige