Microsoft Excel

Herbers Excel/VBA-Archiv

PasteSpecial ohne Select

Betrifft: PasteSpecial ohne Select von: Mathias Völker
Geschrieben am: 02.11.2020 14:01:45

Hallo liebe Experten und Helfer,


ich habe folgendes Problem:

Ich möchte Werte zwischenspeichern. Dazu soll, sobald die Zelle "O3" angewählt wird das SelctionChange Event gestartet werden. Es ruft mein Kopiermakro auf. Die Werte aus "O3" und "P3" werden nach AG3 und AH3 kopiert. anschließend kann man die Werte in "O3" ändern und erst wenn "O3" wieder angewählt wird startet das Makro von neuem. Soweit so gut funktioniert auch alles.

Aber mein Problem ist das in "P3" eine Formal steht und ich ihren aktuellen Wert in "AH3" brauche. Daher habe ich mit .PasteSpecial gearbeit und das Ergebnis passt. AH3 enthält den Wert von P3. Nur das AH3 dabei jedes mal selected wird, d.h die Zelle AH3 ist angewählt, und genau das darf nicht sein. Ich habe extra darauf geachtet keine .Selection Funktion zu verwenden wobei PasteSpecial wohl irgendwie damit drin ist.

Jedenfalls brauche ich den Wert von P3 in AH3 ohne AH3 anzuwählen/selectieren und ohne Rückbezug auf P3.


Weiß jemand Rat wie ich das hinbekomme? Mit oder ohne PasteSpecial?

Bin für jeden Rat dankbar.


Viele Grüße

Mathias




---------------------------------------------



Private Sub Worksheet_selectionChange(ByVal Target As Range)

If Target.Address = "$O$3:$O$4" Then
    Call Zwischenspeicher
End If
---------------------------------------
Sub Zwischenspeicher()

Worksheets("Hoba 1").Range("O3:O4").Copy Worksheets("Hoba 1").Range("AG3")
'Worksheets("Hoba 1").Range("P3:P4").Copy
'Worksheets("Hoba 1").Range("AH3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,  _
SkipBlanks _
        :=False, Transpose:=False

Application.CutCopyMode = False

End Sub

Betrifft: AW: PasteSpecial ohne Select
von: Becker
Geschrieben am: 02.11.2020 14:12:03

If Target.Range("O3") Then
Range("AG3").Value = Range("O3").Value
Range("AH3").Value = Range("P3").Value
End If

Sowas in die Richtung?

Betrifft: AW: PasteSpecial ohne Select
von: Becker
Geschrieben am: 02.11.2020 14:26:07

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$O$3" Then
Range("A3").Value = Range("O3").Value
Range("H3").Value = Range("P3").Value
End If
End Sub
Sry die If abfrage war natürlich quatsch ^^

Beiträge aus dem Excel-Forum zum Thema "PasteSpecial ohne Select"