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

Forumthread: Text in eine bestimmte Zelle kopieren - VBA

Text in eine bestimmte Zelle kopieren - VBA
01.04.2016 14:26:26
Martin
Hi Zusammen,
ich habe wieder einmal eine Frage an euch:
In meinem Tabellenblatt stehen in einem Bereich der Spalte B bestimmte Texte welche entweder fix oder mit Formeln erstellt werden. In der Zelle rechts davon steht ein Zellbezug welcher mit der Funktion "ADRESSE" erstellt wird (z.B.: $G$41)
Ich möchte nun, dass der Text aus der Spalte B in die Zelle kopiert welche in Spalte C angegeben ist. Ob der Text als Wert kopiert wird oder eine Verknüpfung auf die Spalte B macht ist mir dabei egal.
Wichtig dabei ist, dass man den Bereich eingrenzen kann der überprüft wird, da in der Spalte B auch andere Sachen stehen können. Der Bereich der Überprüft werden soll befindet sich von Zeile 40 bis Zeile 100.
Ist das möglich?
Anbei eine Beispieldatei.
https://www.herber.de/bbs/user/104712.xlsx
Ich danke euch schon jetzt für eure Hilfe!
lg
Martin

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Text in eine bestimmte Zelle kopieren - VBA
01.04.2016 14:39:09
UweD
Hallo Martin
so ?

Sub TT()
On Error GoTo Fehler
Dim i%
Dim ZE&, LR&
Application.ScreenUpdating = False
ZE = 40 'ab Zeile
With ActiveSheet
LR = .Cells(Rows.Count, 2).End(xlUp).Row 'letzte Zeile der Spalte
For i = ZE To LR
Range(Cells(i, 3).Value) = .Cells(i, 2).Value
Next
End With
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & _
vbLf & Err.Description: Err.Clear
End Sub

Gruß UweD

Anzeige
AW: Text in eine bestimmte Zelle kopieren - VBA
01.04.2016 14:43:20
UweD
Wenn es die Formeln sein sollen dann so

For i = ZE To LR
Range(Cells(i, 3).Value).Formula = .Cells(i, 2).Formula
Next
LG

AW: Text in eine bestimmte Zelle kopieren - VBA
01.04.2016 14:51:54
Martin
Hi Uwe!
Danke für die rasche Antwort!
Wenn ich den Code ausführe, bekomme ich folgende Fehlermeldung:
Fehler:1004
Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen

Ich hab den Code in ein Modul kopiert und ausgeführt. Was mach ich Falsch?
Danke und lg
Martin

Anzeige
AW: Text in eine bestimmte Zelle kopieren - VBA
01.04.2016 14:56:45
UweD
Hallo
genauso hab ich es gemacht. Läuft problemlos

AW: Text in eine bestimmte Zelle kopieren - VBA
01.04.2016 15:04:40
Martin
Wenn du das Makro mit F8 durchklickst:
Welche Zeile ist denn dann gelb markiert, wenn der Fehler kommt.

Funktioniert!
01.04.2016 15:14:18
Martin
Hi Uwe!
Ich hab eine Leerzeile zwischen den Texten gelassen, das hat der Code anscheinend nicht so gut gefunden :)
Jetzt geht es!
Danke und lg
Martin
Anzeige
;

Forumthreads zu verwandten Themen

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

Text in eine bestimmte Zelle kopieren mit VBA


Schritt-für-Schritt-Anleitung

Um einen bestimmten Text aus einer Zelle in eine andere Zelle zu kopieren, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, um dies zu erreichen:

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

  2. Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub TT()
       On Error GoTo Fehler
       Dim i%
       Dim ZE&, LR&
       Application.ScreenUpdating = False
       ZE = 40 'ab Zeile
       With ActiveSheet
           LR = .Cells(Rows.Count, 2).End(xlUp).Row 'letzte Zeile der Spalte
           For i = ZE To LR
               Range(Cells(i, 3).Value) = .Cells(i, 2).Value
           Next
       End With
    Fehler:
       If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro über Entwicklertools > Makros aus.

Dieser Code kopiert den Text aus der Spalte B in die Zellen, die in Spalte C angegeben sind. Du kannst den Bereich anpassen, indem du die Werte für ZE und LR änderst.


Häufige Fehler und Lösungen

Hier sind einige häufige Fehler, die beim Ausführen des VBA-Codes auftreten können, und deren Lösungen:

  • Fehler: 1004 – Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen
    Dies kann passieren, wenn die Zelle, in die du kopieren möchtest, nicht korrekt angegeben ist. Stelle sicher, dass in Spalte C gültige Zellbezüge stehen.

  • Leerzeilen im Datenbereich
    Wenn es Leerzeilen im Bereich gibt, in dem du arbeitest, kann dies dazu führen, dass das Makro nicht wie gewünscht funktioniert. Überprüfe, ob alle Zellen in Spalte B und C korrekt gefüllt sind.


Alternative Methoden

Falls du keine VBA-Lösung verwenden möchtest, kannst du auch Excel-Formeln nutzen:

  1. Verwende die Formel =B40 in der Zelle C40, um den Text direkt zu kopieren.
  2. Ziehe die Formel nach unten, um sie auf andere Zellen anzuwenden.

Diese Methode ist einfacher, erfordert jedoch, dass die Zielzelle immer gleich bleibt, wenn sich der Text in Spalte B ändert.


Praktische Beispiele

Hier sind einige praktische Anwendungen:

  • Kopieren eines Textes aus einer Zelle in eine andere
    Wenn in Zelle B40 der Text "Beispiel" steht und in C40 der Wert "$G$41" in einer Formel steht, wird der Text "Beispiel" in die Zelle G41 kopiert.

  • Verwenden eines Wortteils
    Wenn du nur einen bestimmten Wortteil (z.B. die ersten drei Buchstaben) aus einem Text in Spalte B kopieren möchtest, könntest du eine Formel wie =LINKS(B40, 3) verwenden.


Tipps für Profis

  • Optimierung des VBA-Codes
    Verwende .Value2, um die Leistung zu erhöhen, insbesondere bei großen Datenmengen.

  • Fehlerbehandlung
    Implementiere eine robuste Fehlerbehandlung, um sicherzustellen, dass das Makro auch bei unerwarteten Eingaben stabil läuft.

  • Globale Variablen
    Nutze globale Variablen, um Daten zwischen verschiedenen Subroutinen auszutauschen.


FAQ: Häufige Fragen

1. Wie kann ich den Text aus Zellen mit einer bestimmten Bedingung kopieren?
Du kannst eine IF-Abfrage in deinem VBA-Code verwenden, um nur bestimmte Texte zu kopieren, die deinen Kriterien entsprechen.

2. Was mache ich, wenn ich den Code nicht ausführen kann?
Stelle sicher, dass die Makros in Excel aktiviert sind. Überprüfe auch, ob du die richtigen Berechtigungen hast, um VBA auszuführen.

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