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

Forumthread: Zellinhalt mit Makro als Wert einfügen

Zellinhalt mit Makro als Wert einfügen
Patricia
Hallo
ich möchte gerne mit unten stehenden Makro, den Inhalt einer Zelle bzw. mehreren Zellen als nur Wert automatisch einfügen. Habe ich sonst immer mit strg c-inhalte einfügen-werte gemacht. Das ist aber bei manchen Kalk. wegen vieler verschiedener Werte, sehr aufwendig. Mein problem ist, dass das Makro jetzt zwar funktioniert aber
1. nur wenn ich ich Makro ausführen wähle - es also nicht automatisch geht
2. sobald ich die Menge in der Kalk. ändere, das Makro nicht mehr die vorangegangene Zeile anzeigt.
Makro wurde mit Rekorder erstellt.
Vielleicht hat jemand eine Idee für mich. Das wäre echt toll :-)
Hier das Makro:

Sub Wert()
' Wert Makro
' kopiert einen Zellbereich als nur wert
Range("L8:Q27").Select
Selection.Copy
Range("S8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zellinhalt mit Makro als Wert einfügen
27.10.2009 00:42:46
Franc
was meinst du damit, das er nicht die vorangegange Zelle anzeigt?
Wie ändert sich denn der Bereich den du kopieren willst?
Wenn du es selbst markierst, kannst du das so machen.
Wenn du auf "Alt + F8" drückst, das Makro markierst und Optionen anklickst, kannst du eine Tastenkombi festlegen.
Sub Wert()
Selection.Copy
Range("S8").PasteSpecial xlPasteValues
End Sub

Anzeige
AW: Zellinhalt mit Makro als Wert einfügen
28.10.2009 19:33:27
Patricia
Hallo Franc,
sorry für die späte Antwort, bin nicht ins Netz gekommen.
Was ich meine:
Wenn ich 1000 Stück berechne, dann erscheint in einer Tabelle die Berechnung mit verschiedenen Werten.
Wenn ich 2000 Stück berechne, dann erscheint der Wert jetzt in der Zeile für 2000 Stück genau darunter, aber nicht mehr bei 1000. Bislang habe ich das dann per Hand markiert - kopiert und über Werte einfügen in eine andere Zeile kopiert, so dass ich die Ergebnisse behalten konnte. Das wollte ich mir vereinfachen und mit einem Makro kopieren, aber auch so dass es
1. automatisch läuft
2. der Wert auch stehen bleibt - und genau das passiert beides nicht. Aber kopieren tut das Makro als Wert, also zumindest das funktioniert.
Ich probiere gleich das mit dem Makro von Worti, das sollte meines ja im Hintergrund laufen lassen, wenn ich das richtig verstanden habe.
Danke das Du dich damit beschäftigst :-)
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellinhalt mit Makro als Wert einfügen


Schritt-für-Schritt-Anleitung

Um den Zellinhalt mit einem Makro als Wert in Excel einzufügen, kannst du die folgenden Schritte befolgen:

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

  2. Öffne den VBA-Editor durch Drücken von Alt + F11.

  3. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen und wähle Modul.

  4. Kopiere den folgenden Code in das Modul:

    Sub Wert()
       ' Wert Makro
       ' kopiert einen Zellbereich als nur wert
       Range("L8:Q27").Copy
       Range("S8").PasteSpecial Paste:=xlPasteValues
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus: Drücke Alt + F8, wähle das Makro Wert und klicke auf Ausführen.

Um das Makro automatisch auszuführen, kannst du eine Tastenkombination festlegen. Gehe dazu wieder zu Alt + F8, markiere das Makro und klicke auf Optionen, um eine Tastenkombination festzulegen.


Häufige Fehler und Lösungen

  • Problem: Das Makro funktioniert nur manuell und nicht automatisch.

    • Lösung: Stelle sicher, dass du das Makro mit einer Tastenkombination verknüpft hast. Alternativ kannst du das Makro so anpassen, dass es bei bestimmten Ereignissen (z.B. bei Änderungen in einer Zelle) automatisch ausgeführt wird.
  • Problem: Das Makro zeigt nicht die vorherige Zeile an, wenn sich die Menge ändert.

    • Lösung: Passe den Zellbereich im Makro so an, dass er dynamisch ist. Du kannst ActiveCell verwenden, um den aktuellen Wert zu erfassen und entsprechend zu kopieren.

Alternative Methoden

Falls du das Makro nicht verwenden möchtest, gibt es auch andere Methoden, um Werte in Excel einzufügen:

  1. Tastenkombinationen: Du kannst immer noch Strg + C gefolgt von Strg + Alt + V verwenden, um Werte einzufügen.
  2. Formeln: Wenn du oft mit den gleichen Werten arbeitest, kannst du auch eine Formel verwenden, um die Werte zu referenzieren.
  3. Zellenformatierung: Manchmal kann die richtige Zellenformatierung helfen, Werte korrekt anzuzeigen, ohne sie ständig kopieren zu müssen.

Praktische Beispiele

Hier sind einige Beispiele, wie du das Makro anpassen kannst:

  1. Dynamischer Zellbereich:

    Sub DynamischerWert()
       Dim LetzteZeile As Long
       LetzteZeile = Cells(Rows.Count, "L").End(xlUp).Row
       Range("L8:L" & LetzteZeile).Copy
       Range("S8").PasteSpecial Paste:=xlPasteValues
    End Sub
  2. Mehrere Bereiche kopieren:

    Sub MehrereBereiche()
       Range("L8:L27").Copy
       Range("S8").PasteSpecial Paste:=xlPasteValues
       Range("M8:M27").Copy
       Range("T8").PasteSpecial Paste:=xlPasteValues
    End Sub

Tipps für Profis

  • Verwende Application.CutCopyMode = False: Dies entfernt den Kopiermodus und verhindert, dass die Auswahl bleibt.

    Application.CutCopyMode = False
  • Teste dein Makro: Führe das Makro in einer Kopie deiner Datei aus, um sicherzustellen, dass es wie gewünscht funktioniert, bevor du es in deiner Hauptdatei verwendest.

  • Dokumentiere dein Makro: Füge Kommentare hinzu, um später zu verstehen, was der Code macht. Dies ist besonders hilfreich, wenn du mit Excel VBA arbeitest.


FAQ: Häufige Fragen

1. Wie kann ich ein Makro automatisch bei Änderungen in einer Zelle ausführen? Um ein Makro automatisch auszuführen, kannst du das Worksheet-Change-Ereignis verwenden. Füge den folgenden Code in das entsprechende Arbeitsblattmodul ein:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("L8:L27")) Is Nothing Then
        Call Wert
    End If
End Sub

2. Kann ich mehrere Makros gleichzeitig ausführen? Ja, du kannst ein weiteres Makro aufrufen, indem du einfach dessen Namen im aktuellen Makro aufrufst, z.B. Call AnderesMakro.

3. Wie kann ich sicherstellen, dass ich nur Werte und keine Formeln kopiere? Benutze die Methode PasteSpecial mit dem Argument xlPasteValues, um sicherzustellen, dass nur die Werte eingefügt werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige