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

Zelleninhalt mit VBA ersetzen

Forumthread: Zelleninhalt mit VBA ersetzen

Zelleninhalt mit VBA ersetzen
04.10.2012 13:14:20
Bon
Hallo,
ich habe in B15:F26 Zahlen, die zufällig mit einem Makro erzeugt werden.
Ich habe eine Schleife entwickelt und möchte, dass am Ende dieser Schleife die Inhalte in B15:F26 durch B187:F198 ersetzt werden.
Mit welcher Formel kann ich die Inhalte in B15:F26 ersetzen?
Ich hab mich bereits an dieser Formel versucht (um zumindest die erste Zeile zu ersetzen), aber das hat nicht funktioniert.
Private Sub CommandButton7_Click()
Range("B15", "F15") = Range("B187", "F187")
End Sub
Liebe Grüße, Bon

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt mit VBA ersetzen
04.10.2012 13:32:08
Rolf
Hallo Bon,
Sub Ersetzen()
Range("B15:F15").Value = Range("B187:F187").Value
End Sub
Gruß, Rolf

AW: Zelleninhalt mit VBA ersetzen
04.10.2012 14:31:15
Bon
Hallo,
vielen Dank für die Antwort.
Leider funktioniert das bei mir nicht.
Gibt es eine Möglichkeit, dass B187:F198 stehen bleiben und nur die Zelleninhalte nach B15:F26 kopiert werden(ohne, dass Zellen nach unten verschoben werden)
Lg

Anzeige
AW: Zelleninhalt mit VBA ersetzen
04.10.2012 15:32:09
Rolf
Sorry Bon,
in meinem Lösungsvorschlag war ein Flüchtigkeitsfehler. Anbei Beispieldatei mit 2 Alternativen:
a) Werte B15:F26 durch Werte B187:F198 ersetzen
b) Werte von B187:F198 nach B15:F26 kopieren
https://www.herber.de/bbs/user/81988.xlsm
in beiden Fällen bleiben die Werte in B187:F198 erhalten. Das war allerdings vorher auch schon so.
Gruß Rolf
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zelleninhalt mit VBA ersetzen


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Neues Modul einfügen: Klicke mit der rechten Maustaste auf VBAProject (deineDatei.xlsm) und wähle Einfügen > Modul.
  3. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub Ersetzen()
       Range("B15:F26").Value = Range("B187:F198").Value
    End Sub
  4. Code ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle Ersetzen und klicke auf Ausführen.

Damit werden die Inhalte in den Zellen B15:F26 durch die Inhalte in B187:F198 ersetzt.


Häufige Fehler und Lösungen

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

    • Lösung: Überprüfe, ob die angegebenen Zellbereiche existieren und richtig geschrieben sind.
  • Fehler: Inhalte werden nicht ersetzt.

    • Lösung: Stelle sicher, dass der Code im richtigen Modul eingefügt wurde und dass du das Makro korrekt ausführst.

Alternative Methoden

  1. Inhalte kopieren ohne Verschieben: Wenn du die Werte von B187:F198 nach B15:F26 kopieren möchtest, ohne die Zelleninhalte in B187:F198 zu verändern, kannst du den folgenden Code verwenden:

    Sub Kopieren()
       Range("B15:F26").Value = Range("B187:F198").Value
    End Sub
  2. Direktes Tauschen der Inhalte: Verwende diesen Code, um die Inhalte von zwei Bereichen direkt zu tauschen:

    Sub Tauschen()
       Dim temp As Variant
       temp = Range("B15:F26").Value
       Range("B15:F26").Value = Range("B187:F198").Value
       Range("B187:F198").Value = temp
    End Sub

Praktische Beispiele

Um die Anwendung des Codes besser zu verdeutlichen, hier ein Beispiel:

  • Angenommen, in den Zellen B15:F26 stehen die Werte 1 bis 12, und in B187:F198 stehen die Werte A bis L. Mit dem obigen VBA-Code tauscht du diese Inhalte, sodass B15:F26 die Buchstaben und B187:F198 die Zahlen erhält.

Tipps für Profis

  • Verwende Application.ScreenUpdating = False: Um die Ausführungsgeschwindigkeit zu erhöhen, kannst du deinen Code um diese Zeile erweitern, um die Bildschirmaktualisierung während der Ausführung zu deaktivieren:

    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True
  • Fehlerbehandlung: Füge eine Fehlerbehandlung hinzu, um dein Makro robuster zu machen:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Daten in B187:F198 erhalten bleiben? Die oben genannten Codes ersetzen nur die Inhalte in B15:F26, während die Daten in B187:F198 unverändert bleiben.

2. Funktioniert das auch in Excel 365? Ja, die beschriebenen VBA-Methoden funktionieren in Excel 365 und früheren Versionen, die die VBA-Programmierung unterstützen.

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