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

Forumthread: Nur werte einfügen VBA

Nur werte einfügen VBA
Stefan
Hallo erstmal
wie muß ich diesen Befehl umschreiben das nur Werte eingefügt werden
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Dim lngZielZeile As Long
If Target.Column = 1 Then
lngZielZeile = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1
Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Copy _
Destination:=Worksheets("Tabelle2").Range("A" & lngZielZeile)
End If
End Sub

LG Stefan
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Nur werte einfügen VBA
04.04.2012 18:19:04
Hajo_Zi
Halo Stefan,
der Makrorecorder ist nicht so scghlecht wie sein Ruf.
Nach folgendem Prinzip
Columns("B:C").Copy
Columns("B:C").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False 'Zwischenspeicher löschen

Anzeige
AW: Nur werte einfügen VBA
04.04.2012 18:34:07
Stefan
Sorry Hajo
jedoch bin ich ne VBA Niete mit Makrorecorder abschauen mach ich ja schon jedoch fehlt mir hier ein wenig das Grundwissen um den Befehl zu Integrieren .
Vieleicht könntest Du mir an AHA erlebniss verpassen.
LG
Stefan
AW: Nur werte einfügen VBA
04.04.2012 20:02:12
Hajo_Zi
Hallo Stefan,
meinVorschlag intressiert Dich also nicht?
Gruß Hajo
Anzeige
Werte übertragen ohne Copy
04.04.2012 19:35:05
Erich
Hi Stefan,
wenn 7 Werte eines anderen Blatts gleich 7 Werten des aktuellen sein sollen,
kann man das auch ohne Copy einfach als Zuweisung mit "=" hinschreiben:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim lngZielZeile As Long
With Worksheets("Tabelle2")
If Target.Column = 1 Then
lngZielZeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lngZielZeile, 1).Resize(, 7) = _
Cells(Target.Row, 1).Resize(, 7).Value
End If
End With
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
Zusatz
04.04.2012 19:39:19
Erich
Hi Stefan,
wenn mit der Prozedur der Doppelklick erledigt sein (also nicht weiter ausgeführt werden) soll,
könntest du über dem "End If" noch eine neue Zeile einfügen mit
Cancel = True
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
AW: Werte übertragen ohne Copy
04.04.2012 19:49:21
Stefan
Hey Erich
Jetzt aber mal langsam mit den Pferden :-)
=Wenn(A1="VBA Depp";"halt zu Blöd";"Nicht gleich Funktionsdepp/Formeldepp")
:-)
Vielen DankDein Befehl funzt
LG
Stefan
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

Werte einfügen mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um in Excel VBA nur Werte einzufügen, kannst Du den folgenden Code verwenden. Dieser wird beim Doppelklick auf eine Zelle ausgelöst, und die Werte einer bestimmten Zeile werden in eine andere Tabelle übertragen.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
    Dim lngZielZeile As Long
    If Target.Column = 1 Then
        lngZielZeile = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1
        Worksheets("Tabelle2").Cells(lngZielZeile, 1).Resize(, 7).Value = _
        Range(Target, Target.Offset(0, 6)).Value
        Cancel = True
    End If
End Sub

Dieser Code sorgt dafür, dass beim Doppelklick in der ersten Spalte die Werte der Zeile in "Tabelle2" als Werte eingefügt werden. Achte darauf, dass die Ziel-Tabelle existiert.


Häufige Fehler und Lösungen

  1. Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"

    • Lösung: Überprüfe, ob die Tabelle "Tabelle2" korrekt benannt ist und existiert.
  2. Fehler: "Zielzelle ist leer"

    • Lösung: Stelle sicher, dass Du auf eine Zelle in der ersten Spalte klickst und dass die Zeile, die Du kopieren möchtest, Werte enthält.
  3. Fehler: Makro funktioniert nicht

    • Lösung: Stelle sicher, dass Makros in Excel aktiviert sind. Gehe dazu auf Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros.

Alternative Methoden

Falls Du eine andere Methode bevorzugst, um Werte in Excel VBA einzufügen, kannst Du auch die PasteSpecial-Methode verwenden. Hier ein Beispiel:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
    Dim lngZielZeile As Long
    If Target.Column = 1 Then
        lngZielZeile = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1
        Range(Target, Target.Offset(0, 6)).Copy
        Worksheets("Tabelle2").Cells(lngZielZeile, 1).PasteSpecial Paste:=xlValues
        Application.CutCopyMode = False
        Cancel = True
    End If
End Sub

Diese Methode kopiert die Zellen und fügt sie als Werte ein, wodurch die ursprünglichen Formate und Formeln nicht übertragen werden.


Praktische Beispiele

  1. Werte von einer Zeile kopieren:

    • Doppelklicke auf eine Zelle in Spalte A. Der Code in diesem Abschnitt wird die Werte der Zeile kopieren und in "Tabelle2" einfügen.
  2. Kopieren von bestimmten Spalten:

    • Wenn Du nur bestimmte Spalten aus einer Zeile kopieren möchtest, kannst Du den Bereich anpassen:
      Worksheets("Tabelle2").Cells(lngZielZeile, 1).Resize(, 3).Value = _
      Range(Target, Target.Offset(0, 2)).Value

Tipps für Profis

  • Fehlerbehandlung: Integriere eine Fehlerbehandlung in Deinen Code, um unerwartete Fehler abzufangen:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0
  • Verwende Option Explicit: Dies zwingt Dich, alle Variablen zu deklarieren, was zu weniger Fehlern führt.

  • Makros optimieren: Nutze die Möglichkeit, Makros in Excel zu erstellen, um wiederkehrende Aufgaben zu automatisieren, z.B. durch die Verwendung des Makrorecorders.


FAQ: Häufige Fragen

1. Wie kann ich nur Werte ohne Formate einfügen? Um nur Werte ohne Formate einzufügen, verwende die PasteSpecial-Methode mit dem Parameter xlValues.

2. Kann ich den Code anpassen, um mehr als 7 Werte zu kopieren? Ja, Du kannst die Zahl 7 im Code anpassen, um mehr oder weniger Werte zu kopieren, je nach Bedarf.

3. Funktioniert dieser Code in allen Excel-Versionen? Der bereitgestellte VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, einschließlich Excel 2010 und später.

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