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

Forumthread: Kopieren - Runden - Einfügen

Kopieren - Runden - Einfügen
14.09.2004 09:15:44
André
Hallo!
Die Sache ist sicher ganz einfach, aber ich krieg sie trotzdem nicht hin:
Ich kopiere eine Anzahl von Ergebnissen aus Zellen - machmal zeilenweise, machmal spaltenweise, niemals eine Kombination.
Diese füge ich als Werte an anderer Stelle ein, das ist soetwas wie ein Archiv. Die Sache funktioniert schön bequem mit einem Makro hinter einer Schaltfläche.
Leider haben die eingefügten Werte aber zuviele Nachkommastellen, zwei würden mir reichen.
Das Kopieren, Runden und Einfügen von EINEM Zellwert schaffe ich per Makro, aber wie gelingt es, die variierende Anzahl von Werten entsprechend zu behandeln? Ziel ist es, wie gehabt mit einer Schaltfläche zu arbeiten.
Danke für jeden Tipp!
Gruß, André.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Kopieren - Runden - Einfügen
14.09.2004 10:08:30
Hans
Hallo André,
es ist nicht möglich, die Werte global zu runden; Du benötigst also eine Schleife über alle Einzelwerte.
Dies gilt allerdings nur für den Fall, dass Du tatsächlich die gerundeten Werte benötigst; andernfalls genügt ja eine einfache Formatfestlegung im Zielbereich.
Gruss hans
Anzeige
AW: Kopieren - Runden - Einfügen
André
Hallo Hans!
Eine Formatfestlegung im Zielbereich ist nicht ausreichend.
Die Schleife: ist soetwas VBA-technisch mit normalem Aufwand machbar? Gibt es vielleicht ähnliche Beispiele, wo ich mir Code zusammenbauen kann? Die Schwierigkeit liegt ja darin, dass es Werte aus Zeilen oder Spalten sein können und deren Anzahl nicht feststeht.
Gruß, André.
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Kopieren, Runden und Einfügen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel gerundete Werte effizient zu kopieren und einzufügen, kannst Du ein VBA-Makro verwenden. Folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Projektfenster mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“, wähle „Einfügen“ und dann „Modul“.

  3. Kopiere den folgenden Code in das Modul:

    Sub KopierenRundenEinfügen()
        Dim Bereich As Range
        Dim Zelle As Range
        Dim Ziel As Range
        Dim ZielZeile As Long
    
        ' Bereich auswählen
        Set Bereich = Application.InputBox("Wähle den Bereich aus", Type:=8)
        ' Zielbereich festlegen
        Set Ziel = Application.InputBox("Wähle die Zielzelle aus", Type:=8)
    
        ZielZeile = Ziel.Row
    
        For Each Zelle In Bereich
            ' Gerundeten Wert berechnen und in die Zielzelle einfügen
            Cells(ZielZeile, Ziel.Column).Value = Application.Round(Zelle.Value, 2)
            ZielZeile = ZielZeile + 1
        Next Zelle
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Füge eine Schaltfläche hinzu: Gehe zu „Entwicklertools“ > „Einfügen“ und wähle eine Schaltfläche aus. Zeichne die Schaltfläche auf Deinem Arbeitsblatt.

  6. Verknüpfe das Makro mit der Schaltfläche: Wähle das Makro „KopierenRundenEinfügen“ aus.

  7. Testen: Klicke auf die Schaltfläche, wähle den Bereich aus, den Du kopieren möchtest, und dann die Zielzelle. Die gerundeten Werte werden eingefügt.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Der Index liegt außerhalb des gültigen Bereichs."

    • Lösung: Stelle sicher, dass der gewählte Bereich und die Zielzelle korrekt sind.
  • Fehler: Zu viele Nachkommastellen werden angezeigt.

    • Lösung: Überprüfe, ob der Code richtig gerundet wird und die Rundung auf 2 Nachkommastellen eingestellt ist.

Alternative Methoden

Wenn Du keine VBA-Makros verwenden möchtest, kannst Du auch die Funktion „Werte einfügen“ verwenden:

  1. Wähle die Zellen aus, die Du kopieren möchtest.
  2. Kopiere die Zellen (STRG + C).
  3. Rechtsklicke auf die Zielzelle und wähle „Inhalte einfügen“.
  4. Wähle „Werte“ aus, um nur die Werte ohne Formate einzufügen.
  5. Runde die Werte in der Zielzelle nachträglich mit der Formel =RUNDEN(A1;2) (ersetze A1 durch die entsprechende Zelle).

Praktische Beispiele

Wenn Du eine Liste von Zahlen hast und schnell die gerundeten Werte übernehmen möchtest, kannst Du das Makro wie folgt nutzen:

  • Beispiel: Angenommen, Du hast eine Liste von Verkaufszahlen in Zellen A1:A10. Wähle diesen Bereich aus und füge ihn in die Zelle B1 ein, um die gerundeten Zahlen zu erhalten.

Tipps für Profis

  • Verwende die Funktion „ROUND“: In Excel kannst Du die Funktion =ROUND(Zahl; Anzahl_der_Nachkommastellen) direkt in die Zielzellen eingeben, um schnell gerundete Werte zu erzeugen.
  • Blitzschnell 6 Buchstaben: Wenn Du häufig mit gerundeten Werten arbeitest, erstelle eine benutzerdefinierte Funktion in VBA, um die Arbeit noch schneller zu machen.

FAQ: Häufige Fragen

1. Kann ich das Makro anpassen, um mehr Nachkommastellen zu verwenden? Ja, ändere einfach die Zahl im Application.Round Befehl im Code, um die gewünschte Anzahl an Nachkommastellen zu erhalten.

2. Wie kann ich die gerundeten Werte später wieder verwenden? Du kannst die gerundeten Werte kopieren und an einer anderen Stelle einfügen, indem Du die Schritte zur „Werte einfügen“-Methode anwendest.

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