Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalten H & I in ein neues Tabellenblatt kopieren

Spalten H & I in ein neues Tabellenblatt kopieren
Henning
Hallo zusammen,
wie man schon an meinem Level erkenne kann, bin ich ein Anfänger was VBA angeht.
Nun zu meinem Problem.
Ich habe ein Tabellenblatt mit dem Namen "Stammdaten" in diesem fängt
ab der 18 Zeile in den Spalten H und I folgende Tabelle an. Es folgen noch weitere Spalten, diese benötige ich aber nicht.
PSP-Element Bezeichnung
K.12000.02.1.001 Planung Bau + Statik
K.12000.02.1.002 Planung TGA + Elektro
K.12000.02.1.003 Qualifizierungen Räume und Anlagen (RLT)
K.12000.02.1.004 Ingenieurleistungen
K.12000.02.1.005 Honorare, Gebühren, Gutachten
K.12000.02.1.006 Zeichnungen, Studien, Sonstiges
K.12000.02.2 Bau
K.12000.02.2.001 Roh-/Stahlbauarbeiten
K.12000.02.2.002 Fenster-/Fassadenarbeiten
Nun möchte ich mit einem Makro welches mir die beiden Spalten kopiert und in ein neues Tabellenblatt in der gleichen Arbeitsmappe welches "Übersicht" heißt diese Daten in die Splaten E & F ab der Zeile 25 kopiert.
Ich benötige deshalb ein Makro weil die Spalten unterschiedlich lang sind. Und das Makro soll bis zu letzten Zeile gehen und anschleißend alles kopieren.
Ich freue mich über eine Nachricht.
Beste Grüße
maggifrosch
Anzeige
AW: Spalten H & I in ein neues Tabellenblatt kopieren
23.11.2009 22:01:03
fcs
Hallo Henning alias maggifrosch,
hier mein Lösungsvorschlag.
Gruß
Franz
Sub PSP_Stammdaten_nach_Uebersicht()
Dim wksStamm As Worksheet, wksUeber As Worksheet, intFehler As Long
On Error GoTo Fehler
intFehler = 1
Set wksStamm = Worksheets("Stammdaten")
intFehler = 2
Set wksUeber = Worksheets("Übersicht")
intFehler = 0
With wksStamm
'entweder Zellen mit Formaten/Formeln kopieren
'    .Range(.Cells(18, 8), .Cells(.Rows.Count, 8).End(xlUp).Offset(0, 1)).Copy _
Destination:=wksUeber.Cells(25, 4)
'oder nur Zellinhalte kopieren
.Range(.Cells(18, 8), .Cells(.Rows.Count, 8).End(xlUp).Offset(0, 1)).Copy
wksUeber.Cells(25, 4).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End With
Fehler:
With Err
Select Case .Number
Case 0 'kein Fehler
Case Else
If intFehler = 2 Then 'Blatt Übersicht existiert noch nicht
ActiveWorkbook.Worksheets.Add
Set wksUeber = ActiveSheet
wksUeber.Name = "Übersicht"
Resume Next
ElseIf intFehler = 1 Then
MsgBox "Blatt Stammdaten fehlt"
Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End If
End Select
End With
End Sub

Anzeige
AW: Spalten H & I in ein neues Tabellenblatt kopieren
24.11.2009 09:23:32
Henning
Hallo Franz,
super, vielen Dank!!! Das funktioniert einwandfrei!!!
Darf ich Dich heute Nachmittag nochmal etwas fragen? Bin mit VBA noch nicht ganz vertraut.
Danke
gruß
Henning
AW: weitere Fragen ? - kein Problem
24.11.2009 12:55:02
fcs
Hallo Henning,
Fragen kostet nichts ;-)
Kann aber sein, dass ich erst heute abend dazu komme weitere Fragen zu beantworten.
Gruß
Franz
Anzeige
AW: weitere Fragen ? - kein Problem
25.11.2009 10:52:05
Henning
Hallo Franz,
eine Frage noch.
Bekomme am Ende immer die Fehlermeldung "Fehler.Nr.: 424 Objekt erforderlich"
Wie kann man die Fehlermeldung umgehen. Weil es ist ja kein Fehler aufgetreten.
Danke
Gruß
Henning
AW: weitere Fragen ? - kein Problem
25.11.2009 15:08:28
fcs
Hallo Henning,
ich hab keine Ahnung, warum dieser Fehler auftritt.
Ergänze die folgende Zeile, dann sollte keine Meldung mehr angezeigt werden.
    End With
Err.Clear  'Diese Zeile einfügen
Fehler:
With Err

Gruß
Franz
Anzeige
AW: weitere Fragen ? - kein Problem
25.11.2009 16:59:49
Henning
Hi Franz,
ich stehe tief in deiner Schuld. vielen Dank
Nun hoffe ich, dass dies jetzt nun meine letzte Frage ist :-) bzgl. des SVERWEISES und des ARRAYS jetzt haben sich die Spalten in den gesucht werden soll doch noch geändert. Wie kann ich in deinem Code sehen auf welche Spalte er zugreift z.B. nicht in X sondern in AA.
Vielen Dank für die Info
gruß
henning
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spalten H & I in ein neues Tabellenblatt kopieren


Schritt-für-Schritt-Anleitung

Um die Spalten H und I aus deinem "Stammdaten"-Tabellenblatt in ein neues Tabellenblatt namens "Übersicht" zu kopieren, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (dein Arbeitsmappenname)" > Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub PSP_Stammdaten_nach_Uebersicht()
       Dim wksStamm As Worksheet, wksUeber As Worksheet, intFehler As Long
       On Error GoTo Fehler
       intFehler = 1
       Set wksStamm = Worksheets("Stammdaten")
       intFehler = 2
       Set wksUeber = Worksheets("Übersicht")
       intFehler = 0
       With wksStamm
           .Range(.Cells(18, 8), .Cells(.Rows.Count, 8).End(xlUp).Offset(0, 1)).Copy _
           Destination:=wksUeber.Cells(25, 5) ' 5 entspricht Spalte E
       End With
       Exit Sub
    Fehler:
       With Err
           Select Case .Number
               Case 0 'kein Fehler
               Case Else
                   If intFehler = 2 Then
                       ActiveWorkbook.Worksheets.Add
                       Set wksUeber = ActiveSheet
                       wksUeber.Name = "Übersicht"
                       Resume Next
                   ElseIf intFehler = 1 Then
                       MsgBox "Blatt Stammdaten fehlt"
                   Else
                       MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
                   End If
           End Select
       End With
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: Drücke ALT + F8, wähle PSP_Stammdaten_nach_Uebersicht und klicke auf "Ausführen".

Jetzt sollten die Spalten H und I in das neue Tabellenblatt "Übersicht" in die Spalten E und F ab Zeile 25 kopiert werden.


Häufige Fehler und Lösungen

Fehler 1: "Blatt Stammdaten fehlt"
Wenn du diese Fehlermeldung erhältst, überprüfe, ob das Tabellenblatt "Stammdaten" korrekt benannt ist und existiert.

Fehler 2: "Objekt erforderlich"
Füge die Zeile Err.Clear vor Fehler: in den VBA-Code ein, um diese Fehlermeldung zu umgehen.


Alternative Methoden

Es gibt verschiedene Möglichkeiten, Excel-Spalten in ein neues Tabellenblatt zu übertragen, ohne VBA zu verwenden. Du kannst die Spalten manuell kopieren:

  1. Markiere die Zellen in den Spalten H und I ab Zeile 18.
  2. Drücke Strg + C, um sie zu kopieren.
  3. Gehe zum "Übersicht"-Tabellenblatt und klicke auf die Zelle E25.
  4. Drücke Strg + V, um die Daten einzufügen.

Diese Methode ist jedoch nicht ideal, wenn die Spalten unterschiedlich lang sind.


Praktische Beispiele

Hier sind einige Beispiele, wie du die Daten aus den Spalten H und I in unterschiedliche Tabellenblätter übernehmen kannst:

  • Um die Spalten in ein anderes Tabellenblatt zu übertragen, kannst du den Code leicht anpassen, um zum Beispiel die Daten in andere Spalten zu kopieren:

    wksUeber.Cells(25, 6).PasteSpecial Paste:=xlValues ' für Spalte F

Tipps für Profis

  • Wenn du oft Daten von einem Tabellenblatt in ein anderes übertragen musst, speichere das Makro in deiner persönlichen Makroarbeitsmappe.
  • Nutze die Application.ScreenUpdating = False Zeile zu Beginn des Makros, um die Aktualisierung des Bildschirms zu deaktivieren und die Ausführung zu beschleunigen. Vergiss nicht, sie am Ende wieder auf True zu setzen.
  • Experimentiere mit der PasteSpecial-Methode, um nur die Werte oder Formate zu kopieren, je nach Bedarf.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um andere Spalten zu kopieren?
Ändere einfach die Zellenreferenzen in der .Range-Methode und passe das Ziel in der Destination-Eigenschaft an.

2. Was mache ich, wenn ich keine VBA-Kenntnisse habe?
Du kannst die Daten auch manuell kopieren, aber ein Makro spart Zeit, insbesondere wenn die Datenlängen variieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige