Nur Value eines Feldes kopieren

l-l4cl<3r

Grünschnabel
Hallo,
ich habe ein Worksheet von welchem ich nur bestimmte Felder in ein 2tes Worksheet kopieren lassen möchte. Mein bisheriger Versuch funktioniert, solang nur ein Wort etc. im Feld steht, aber sobald ein berechneter Wert mit Formel im Feld hinterlegt ist, spinnt das Ganze. Also will ich nur den Wert (=Value) des Feldes einfügen. Wie?

Code:
     ThisWorkbook.Sheets(1).Activate
     ThisWorkbook.Sheets(1).Cells(7, 63).Select
     ThisWorkbook.Sheets(1).Cells(7, 63).Copy
     ThisWorkbook.Sheets(2).Activate
     ThisWorkbook.Sheets(2).Cells(Z, 5).Select
     ThisWorkbook.Sheets(2).PasteSpecial Paste:=xlValues, Operation:=xlNone

Bei diesem Versuch kommt folgende Fehlermeldung:

Laufzeitfehler '1004':
Anwendungs- oder objektdefinierter Fehlert


Wer weiss Rat?




P.S.: kann man den Benutzernamen auf der Seite ändern? Den habe ich mir vor X Jahren mal erstellt als ich 13 war (heute bin ich 20) und der belegt meine EMail Adresse :D
 
So weit ich weiß, hat das mit der "Überschrift" deines Makros zu tun und zwar ist dies standardmäßig

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

und dies musst du in

Code:
Private Sub Worksheet_Calculate(ByVal Target As Range)

ändern. Glaube ich zumindest. Versuchs mal und gib mir / uns dann bitte bescheid.
 
sorry ich kann damit leider nicht viel anfangen...
vielleicht poste ich einfach mal das gesamte sub:

Code:
Sub statistiken()

Dim Z As Long, n As Long, zähler As Long

Z = 4
n = 1000

For zähler = 1 To n

If ThisWorkbook.Sheets(2).Cells(Z, 1).Value = 0 Then
     
     'Kurs
     'ThisWorkbook.Sheets(1).Cells(2, 2).Select
     ThisWorkbook.Sheets(1).Cells(2, 2).Copy
     ThisWorkbook.Sheets(2).Activate
     ThisWorkbook.Sheets(2).Cells(Z, 2).Select
     ThisWorkbook.Sheets(2).Paste
     
     'Modul
     ThisWorkbook.Sheets(1).Activate
     ThisWorkbook.Sheets(1).Cells(3, 2).Select
     ThisWorkbook.Sheets(1).Cells(3, 2).Copy
     ThisWorkbook.Sheets(2).Activate
     ThisWorkbook.Sheets(2).Cells(Z, 1).Select
     ThisWorkbook.Sheets(2).Paste
     
     'Datum
     ThisWorkbook.Sheets(1).Activate
     ThisWorkbook.Sheets(1).Cells(4, 2).Select
     ThisWorkbook.Sheets(1).Cells(4, 2).Copy
     ThisWorkbook.Sheets(2).Activate
     ThisWorkbook.Sheets(2).Cells(Z, 3).Select
     ThisWorkbook.Sheets(2).Paste
     
     'Frage 2.1
     ThisWorkbook.Sheets(1).Activate
     ThisWorkbook.Sheets(1).Cells(7, 63).Select
     ThisWorkbook.Sheets(1).Cells(7, 63).Copy
     ThisWorkbook.Sheets(2).Activate
     ThisWorkbook.Sheets(2).Cells(Z, 5).Select
     ThisWorkbook.Sheets(2).PasteSpecial Paste:=xlValues
    
     'Beteiligung
     ThisWorkbook.Sheets(1).Activate
     ThisWorkbook.Sheets(1).Cells(4, 17).Select
     ThisWorkbook.Sheets(1).Cells(4, 17).Copy
     ThisWorkbook.Sheets(2).Activate
     ThisWorkbook.Sheets(2).Cells(Z, 4).Select
     ThisWorkbook.Sheets(2).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
     
     Exit Sub
     

     Else: Z = Z + 1
     
End If

Next zähler

End Sub
 
Versuch es mal mit dem Range object und nicht mit dem Cells object

Bsp
Visual Basic:
     ThisWorkbook.Sheets(1).Range("G63").Select
     ThisWorkbook.Sheets(1).Range("G63").Copy

     ThisWorkbook.Sheets(2).Range(WandleZinBuchstabeUm(Z) & "5").PasteSpecial Paste:=xlValues

Grüsse bb

PS: Die Activate events würde ich weglassen dann flippt dein Excel nicht so hin und her
Ausserdem würde ich nicht über den Index gehen sondern über den Namen also ThisWorkbook("Tabelle1") weil der sich auch mal ganz schnell ändern kann
 
Zurück