VBA nur kopieren des Wertes funktioniert nicht.

Excelmania

Lieutenant
Registriert
Apr. 2010
Beiträge
826
Guten Morgen.

Ich möchte in einem Teil des VBA Skriptes nur den Wert kopieren leider klappt es jedoch nicht.

Code:
Sub LAcheMal()
Dim lngLetzteZeile As Long
Dim lngAbZeile As Long
Dim lngZeile As Long
Dim wksE As Worksheet
Set wksE = Worksheets("Eingabe")
Set wksL = Worksheets("Löschanordnung")
   
lngLetzteZeile = wksE.Cells(wksE.Rows.Count, 2).End(xlUp).Row
lngAbZeile = 4
     
For lngZeile = lngAbZeile To lngLetzteZeile
 If wksE.Cells(lngZeile, 2).Text <> "" Then
  If wksE.Cells(lngZeile, 7).Text = "" Then
   If wksE.Cells(lngZeile, 6).Value <= Date Then
    wksE.Cells(lngZeile, 2).Copy Destination:=Worksheets("Löschanordnung").Range("A11:N11")
    wksE.Cells(lngZeile, 3).Copy Destination:=Worksheets("Löschanordnung").Range("B9:F9")
    wksE.Cells(lngZeile, 4).Copy Destination:=Worksheets("Löschanordnung").Range("G9:K9")
    wksE.Cells(lngZeile, 5).Copy Destination:=Worksheets("Löschanordnung").Range("L9:N9")
    wksE.Cells(lngZeile, 1).Copy wksL.Cells(14,13).PasteSpecial Paste:=xlPasteValues
      Worksheets("Löschanordnung").PrintOut
     wksE.Cells(lngZeile, 7).Value = "n"
     wksE.Cells(lngZeile, 8).Value = Date
    End If
   End If
  End If
Next
End Sub
 
Hi,

ich hab mal versucht eine Mappe nachzubilden.

Damit das Marko durchlief und nur Werte in das Sheet "Löschanordnung" kopiert hat, hab ich es wie folgt umgebaut:

Code:
Sub LAcheMal()

Dim lngLetzteZeile As Long
Dim lngAbZeile As Long
Dim lngZeile As Long
Dim wksE As Worksheet
Set wksE = Worksheets("Eingabe")
Set wksL = Worksheets("Löschanordnung")

lngLetzteZeile = wksE.Cells(wksE.Rows.Count, 2).End(xlUp).Row
lngAbZeile = 4


For lngZeile = lngAbZeile To lngLetzteZeile
 If wksE.Cells(lngZeile, 2).Text <> "" Then
  If wksE.Cells(lngZeile, 7).Text = "" Then
   If wksE.Cells(lngZeile, 6) <= Date Then
    wksE.Cells(lngZeile, 2).Copy
    wksL.Range("A11:N11").PasteSpecial Paste:=xlValues
    wksE.Cells(lngZeile, 3).Copy
    wksL.Range("B9:F9").PasteSpecial Paste:=xlValues
    wksE.Cells(lngZeile, 4).Copy
    wksL.Range("G9:K9").PasteSpecial Paste:=xlValues
    wksE.Cells(lngZeile, 5).Copy
    wksL.Range("L9:N9").PasteSpecial Paste:=xlValues
    wksE.Cells(lngZeile, 1).Copy
    wksL.Cells(14, 13).PasteSpecial Paste:=xlValues
    wksE.Cells(lngZeile, 7).Value = "n"
     wksE.Cells(lngZeile, 8).Value = Date
    End If
   End If
  End If
Next
End Sub

Das Ergebnis hat mich aber nicht wirklich überzeugt.
Vielleicht hilft dir das trotzdem.
 
Zurück
Oben