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

Forumthread: Spalte kopieren und Wert einfügen

Spalte kopieren und Wert einfügen
21.05.2017 15:27:37
Langmantl
Hallo, habe folgende VBA Routine entdeckt.
Sub KopierenAlsWert_1()
Range("n2").Copy
Range("a2").PasteSpecial xlPasteValues
Range("n3").Copy
Range("a3").PasteSpecial xlPasteValues
Range("n4").Copy
Range("a4").PasteSpecial xlPasteValues
End Sub
Es geht darum. ich habe eine Mitgliederliste und möchte den Wert der entsprechenden Zelle in der Spalte n kopieren und nur den Wert in die entsprechende Zelle der Spalte a kopieren. dabei soll die Routine jeweils bei einer neuen Zeile wenn dort Daten eingegeben werden wiederholen. und auch nur für die neuen Spalten, die Werte der Spalten dafür sollen beibehalten werden, es geht nämlich darum, dass ich die Werte in die Spalte a schreiben möchte um bei einer Sortierung den _Wert des Mitgliedes beibehalte.
Also es wird jedem Mitglied eine Nummer zugeordnet, die er ein Leben lang behält, auch wenn er austritt. Der Wert muss kopiert werden, da sonst die Nummer bei einer alphabetischen Sortierung der Mitgliederliste die Nummern nicht beibehalten werden.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte kopieren und Wert einfügen
21.05.2017 15:50:16
Hajo_Zi
Hast Du Dior mal Deine Aufgabe durchgelesen?
Es soll ein Wert kopiert werden, keine Ahnung welche Spalte und der soll in Spalte N und A kopiert werden.
in der Spalte n kopieren und nur den Wert in die entsprechende Zelle der Spalte a kopieren.

aber weiter
die Werte in die Spalte a schreiben 

warum muss dann in A kopiert werden?
Gruß Hajo
Anzeige
AW: Spalte kopieren und Wert einfügen
21.05.2017 16:00:30
Langmantl
Nein, der Wert der in Spalte n steht, also habe ich einen Datensatz, in Zeile 2 so soll der Wert aus n2 kopiert werden und in a2 eingefügt werden.
Warum?
Das habe ich doch schon geschildert. Die Mitgliedsnummern werden in der Hilfspaket n aufsteigend ermittelt über die Funktion =WENN(B11="";"";MAX(N$1:INDEX(N:N;ZEILE()-1))+1).
Das soll auch so sein, damit bei Neuanlage eines Mitgliedes die nächsthöhere Mitgliedsnummer vergeben wird.
Wenn jetzt zum Beispiel eine neues Mitglied hinzukommt, bekommt dieses die nächsthöhere Nummer. Wenn ich die Liste dann aber nach Alphabet sortiere, werden die entsprechenden Mitgliedsnummern nicht mutsortiert sondern bleiben star, das hätte zur Folge, dass durch die Sortierung dem Mitglied eine neue Nummer zugeordnet wird, und das darf nicht sein, sondern die, die bei Eingabe vergeben wird soll bleiben, also müssten die Nummern mutsortiert werden, das klappt aber nicht, deshalb habe ich bereits in einem anderen Thread herausgefunden, dass ich theoretisch die Spalte wo der Wert ermittelt wird kopieren muss und denn wert neu einsetzen muss. dies möchte ich aber automatisiert habe3n und nicht jedesmal manuell machen müssen.
Wenn du allerdings eine Komfortablerer Lösung für mein Problem mit der Mitgliedsnummer hast, _ gerne. Hier der Link zu dem Threat mit der Mitgliedsnummer:

https://www.herber.de/cgi-bin/callthread.pl?index=1557470#bottom

Anzeige
AW: Spalte kopieren und Wert einfügen
21.05.2017 16:14:52
Hajo_Zi
um andere Beiträge kümmere ich mich nicht, da habe ich nicht geantwortet.
Option Explicit
Sub Kopieren()
Dim LoLetzte As Long
Dim LoI As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 14)), Cells(Rows.Count, 14).End(xlUp).Row, Rows. _
Count)
Range(Cells(1, 14), Cells(LoLetzte, 14)).Copy
Range("A1").PasteSpecial Paste:=xlValues
End Sub
Gruß Hajo
Anzeige
AW: Spalte kopieren und Wert einfügen
21.05.2017 16:17:43
Langmantl
Danke dir
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Spalte kopieren und Wert einfügen in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Spalte in Excel zu kopieren und nur die Werte in eine andere Spalte einzufügen, kannst du die folgende VBA-Routine verwenden. Diese Routine kopiert die Werte aus Spalte N und fügt sie in die entsprechenden Zellen der Spalte A ein.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im VBA-Editor Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Kopiere den folgenden Code in das Modul:
Sub KopierenAlsWert()
    Dim LoLetzte As Long
    Dim i As Long

    ' Letzte Zeile in Spalte N bestimmen
    LoLetzte = Cells(Rows.Count, "N").End(xlUp).Row

    ' Schleife durch die Zeilen in Spalte N
    For i = 2 To LoLetzte
        Cells(i, "N").Copy
        Cells(i, "A").PasteSpecial Paste:=xlValues
    Next i
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe die Routine aus, indem du ALT + F8 drückst, die KopierenAlsWert-Routine auswählst und auf Ausführen klickst.

Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004: Die Methode 'PasteSpecial' für das Objekt 'Range' ist fehlgeschlagen."

    • Lösung: Stelle sicher, dass die Zielzelle nicht schreibgeschützt ist und dass die Werte in Spalte N tatsächlich vorhanden sind.
  • Fehler: "Der Code läuft nicht, wenn ich ihn mehrmals ausführe."

    • Lösung: Überprüfe, ob Spalte A bereits Werte enthält. Du kannst die Routine so anpassen, dass sie nur leere Zellen in Spalte A überschreibt.

Alternative Methoden

Wenn du keine VBA verwenden möchtest, kannst du auch die folgenden Schritte in Excel manuell ausführen:

  1. Wähle die Zellen in Spalte N aus.
  2. Kopiere die Zellen (CTRL + C).
  3. Gehe zu der ersten Zelle in Spalte A, wo du die Werte einfügen möchtest.
  4. Klicke mit der rechten Maustaste und wähle Inhalte einfügen.
  5. Wähle Werte aus, um nur die Werte einzufügen.

Praktische Beispiele

Wenn du eine Excel Mitgliederliste hast, in der jeder Mitglied eine eindeutige Nummer in Spalte N erhält, möchte man oft diese Nummern in Spalte A kopieren, um sie bei einer alphabetischen Sortierung beizubehalten. Das oben gezeigte VBA-Skript ist perfekt dafür geeignet.

Ein weiteres Beispiel wäre, wenn du hochzahlen kopieren oder hochzahlen zum kopieren aus einer bestimmten Spalte in eine andere übertragen möchtest. Das Prinzip bleibt gleich – du musst nur die Spaltenreferenzen in deinem Code anpassen.


Tipps für Profis

  • Nutze die Option Explicit Direktive am Anfang deines VBA-Codes, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Du kannst die Routine anpassen, um mehrere Spalten gleichzeitig zu kopieren und einzufügen, indem du die Schleifenstruktur erweiterst.

FAQ: Häufige Fragen

1. Kann ich die Routine anpassen, um mehrere Spalten gleichzeitig zu kopieren? Ja, du kannst die Schleifenstruktur anpassen, um mehrere Spalten zu durchlaufen und die Werte zu kopieren.

2. Was mache ich, wenn die Spalte, die ich kopieren möchte, leer ist? Stelle sicher, dass du eine Bedingung in deinem Code einfügst, die überprüft, ob die Zelle leer ist, bevor du versuchst, sie zu kopieren.

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