Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro Zellen ausschneiden und einfügen

Makro Zellen ausschneiden und einfügen
amintire
Hallo liebe Excel Freunde,
habe eine komplexe Aufgabe, evtl. habt ihr Profis eine einfachere Lösung.
https://www.herber.de/bbs/user/73286.xls
In der Beispielmappe sind in den Zellen E3:F22 Inhalte.
Die Inhalte sollen von E3:F3 ausgeschnitten werden und in der Zelle A3:B3 eingefügt, anschließend wird E4:F4 ausgeschnitten und in die gleiche Zelle A3:B3 eingefügt...
Das ganze soll so lange hintereinander erfolgen bis die letzte Zeile leer ist, wenn die letzte Zeile leer ist dann soll bei G3:H3 weitergemacht werden, also G3:H3 ausschneiden und in A3:B3 einfügen, dann G4:H4 ausschneiden und in A3:B3 einfügen usw.
Vielen Dank für Eure Hilfe.
Lieben Gruß
Amina
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro Zellen ausschneiden und einfügen
27.01.2011 16:34:57
Josef

Hallo Amina,
den Sinn muss ich ja nicht sehen;-))
Sub Uebertragen()
  Dim rng As Range
  
  For Each rng In Union(Range("E3:E23"), Range("G3:G23"))
    rng.Resize(1, 2).Cut Range("A4")
  Next
  
End Sub


Gruß Sepp

Anzeige
AW: Makro Zellen ausschneiden und einfügen
28.01.2011 11:19:35
amintire
Hallo Sepp,
erst mal vielen Dank für deine schnelle Hilfe.
Den Sinn musst du nicht verstehen, das zu erklären wäre noch komplizierter als die Aufgabe ;))
Hätte aber noch eine Frage bzgl Anpassung des Codes.
Und zwar stehen die Daten die jeweils bei zwei Spalten ausgeschnitten werden sollen in Tabelle2.
Also anstatt E3:F3 etc. stehen die in Tabelle2 A1:B1 ganz nach unten und geht bei C1:D1 weiter und bei E1:F1 usw bis zum Ende der verfügbaren Spalten bzw. bis die letzte Spalte/Zelle leer ohne Daten ist.
Kannst du mir helfen den Code noch entsprechend anzupassen?
Vielen lieben Dank.
Gruß Amina
Anzeige
AW: Makro Zellen ausschneiden und einfügen
28.01.2011 12:21:27
Josef

Hallo Amina,
teste mal.

Sub Uebertragen()
  Dim rng As Range, rngB As Range
  Dim strCell(2) As String, intIndex As Integer
  
  strCell(0) = "A1"
  strCell(1) = "C1"
  strCell(2) = "E1"
  
  With Sheets("Tabelle2")
    For intIndex = 0 To UBound(strCell)
      Set rngB = .Range(.Cells(Range(strCell(intIndex)).Row, _
        .Range(strCell(intIndex)).Column), .Cells(.Cells(Rows.Count, _
        .Range(strCell(intIndex)).Column).End(xlUp).Row, _
        .Range(strCell(intIndex)).Column))
      
      For Each rng In rngB
        rng.Resize(1, 2).Copy Sheets("Tabelle1").Range("A4")
        rng.Resize(1, 2).Clear
      Next
    Next
  End With
End Sub

Gruß Sepp

Anzeige
AW: Makro Zellen ausschneiden und einfügen
29.01.2011 13:30:08
amintire
Hallo Sepp,
vielen Dank für deine Zeit und Hilfe.
Soweit passt und funktioniert der Code. Wie soll oder kann ich den anpassen dass wenn ich auf CommandButton drauf klicke immer jeweils eins ausgeschnitten wird und eingefügt (z.B. A1:B1) beim zweiten klick wird dann A2:B2 ausgeschnitten und eingefügt. Siehe Beispielmappe...
https://www.herber.de/bbs/user/73302.xls
Entschuldige dass ich es nicht gleich von Anfang an so beschrieben hatte, mein Kopf ist noch im Urlaub ;)
Lieben Gruß und ein schönes Wochenende
Amina
Anzeige
AW: Makro Zellen ausschneiden und einfügen
29.01.2011 14:43:22
Josef

Hallo Amina,
das habe ich schon vermutet, desshalb meine Anmerkung über den Sinn in meiner ersten Antwort;-)))
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Private Sub CommandButton1_Click()
  Dim intC As Integer
  Dim rng As Range
  
  With Sheets("Tabelle2")
    For intC = 1 To 5 Step 2
      On Error Resume Next
      Set rng = .Cells(1, intC).Resize(23, 1).SpecialCells(xlCellTypeConstants)
      On Error GoTo 0
      
      If Not rng Is Nothing Then
        rng.Cells(1, 1).Resize(1, 2).Cut Me.Range("A4")
        Exit For
      End If
    Next
  End With
  
  Set rng = Nothing
End Sub


Gruß Sepp

Anzeige
AW: Vielen Dank
29.01.2011 18:04:30
amintire
Hallo Sepp,
vielen Dank für deine Hilfe und deiner Zeit.
Übrigens, mein Papa heißt auch Sepp ;))
Lieben Gruß
Amina
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellen ausschneiden und einfügen in Excel mit Makros


Schritt-für-Schritt-Anleitung

Um Zellen in Excel auszuschneiden und einzufügen, kannst Du ein Makro verwenden, das die gewünschten Zellen automatisch verarbeitet. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und lade die Datei, in der Du das Makro verwenden möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Rechtsklick auf „VBAProject (DeinDateiname)“.
    • Wähle „Einfügen“ > „Modul“.
  4. Kopiere den folgenden Code in das Modul:

    Sub Uebertragen()
        Dim rng As Range
        Dim rngB As Range
        Dim strCell(2) As String
        Dim intIndex As Integer
    
        strCell(0) = "A1"
        strCell(1) = "C1"
        strCell(2) = "E1"
    
        With Sheets("Tabelle2")
            For intIndex = 0 To UBound(strCell)
                Set rngB = .Range(.Cells(Range(strCell(intIndex)).Row, _
                        .Range(strCell(intIndex)).Column), _
                        .Cells(.Cells(Rows.Count, _
                        .Range(strCell(intIndex)).Column).End(xlUp).Row, _
                        .Range(strCell(intIndex)).Column))
    
                For Each rng In rngB
                    rng.Resize(1, 2).Copy Sheets("Tabelle1").Range("A4")
                    rng.Resize(1, 2).Clear
                Next
            Next
        End With
    End Sub
  5. Schließe den VBA-Editor.

  6. Führe das Makro aus, indem Du in Excel auf „Entwicklertools“ > „Makros“ gehst und das Makro „Uebertragen“ auswählst.


Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 1004“
    Lösung: Stelle sicher, dass die Namen der Tabellenblätter korrekt sind. Überprüfe, ob das Tabellenblatt „Tabelle2“ existiert.

  • Fehler: „Das Makro kann nicht gefunden werden“
    Lösung: Überprüfe, ob Du das Makro korrekt gespeichert hast und dass Du in der richtigen Arbeitsmappe bist.


Alternative Methoden

Neben einem Makro kannst Du auch die Funktion „Ausschneiden und Einfügen“ manuell nutzen. Hier ist eine einfache Methode:

  1. Wähle die Zellen aus, die Du ausschneiden möchtest.
  2. Rechtsklick und wähle „Ausschneiden“ oder drücke Strg + X.
  3. Klicke auf die Zielzelle, wo die Daten eingefügt werden sollen.
  4. Rechtsklick und wähle „Einfügen“ oder drücke Strg + V.

Praktische Beispiele

  1. Zeilen ausschneiden und einfügen
    Um beispielsweise die erste Zeile von „Tabelle2“ auszuschneiden und in „Tabelle1“ einzufügen, kannst Du den Makro-Code anpassen, um spezifische Zeilen zu bearbeiten.

  2. Daten von mehreren Spalten verarbeiten
    Wenn Du Daten aus den Spalten A und B ausschneiden und in C einfügen möchtest, ändere die Zeilen im Makro entsprechend.


Tipps für Profis

  • Verwende die „On Error Resume Next“-Anweisung, um Fehler im Makro zu ignorieren, wenn keine Daten mehr zum Ausschneiden vorhanden sind.
  • Optimiere den Code, indem Du Schleifen und Bedingungen effizient anpasst, um die Leistung bei großen Datenmengen zu verbessern.
  • Erstelle ein Benutzerformular, um die Eingaben für das Ausschneiden und Einfügen interaktiver zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um nur bestimmte Zeilen auszuschneiden?
Du kannst die Schleife im Makro so anpassen, dass sie nur die gewünschten Zeilen berücksichtigt.

2. Ist es möglich, den Kopf aus einem Bild auszuschneiden und woanders einzufügen?
Ja, dafür kannst Du die Funktion „Zuschneiden“ in Excel verwenden. Wähle das Bild aus, gehe zu „Bildtools“ und klicke auf „Zuschneiden“.

3. Funktioniert das Makro in allen Excel-Versionen?
Das Makro sollte in den meisten modernen Excel-Versionen (ab Excel 2007) funktionieren, aber stelle sicher, dass Makros in Deinen Einstellungen aktiviert sind.

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