Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Werte in anderes Tabellenblatt kopieren mit VBA
#1
Hallo zusammen,

ich benötige mal wieder Hilfe  :69: .
Ich möchte per VBA Werte in ein anderes Tabellenblatt kopieren, wenn diese größer Null sind.

Ich benötige dies per VBA, da im Ziel keine Formeln stehen sollen.

Ich habe nun folgenden Code:
Code:
Private Sub Worksheet_Calculate()

  With Worksheets("Tabelle1").Range("A2:A13")
      .Value = Worksheets("Tabelle2").Range("C2:C13").Value
      .Replace what:="0", Replacement:=""
 
  End With
 
End Sub
Leider werden mir die anstatt 200 Euro nur 20 Euro im Ziel ausgegeben.
Könnt hier hier eventuell helfen?

Danke und LG
Mario


Angehängte Dateien
.xlsm   Test.xlsm (Größe: 16,36 KB / Downloads: 4)
Antworten Top
#2
Hallo

wozu ist das Replace gut?


Code:
Private Sub Worksheet_Calculate()

  With Worksheets("Tabelle1").Range("A2:A13")
      .Value = Worksheets("Tabelle2").Range("C2:C13").Value
  End With
 
End Sub


MfG Tom
[-] Folgende(r) 1 Nutzer sagt Danke an Crazy Tom für diesen Beitrag:
  • Mario
Antworten Top
#3
Hallo

mal ein anderer Weg
ich würde in dem Fall allerdings lieber die 0 sehen als nüscht Wink


Code:
Private Sub Worksheet_Calculate()
   Dim rngZelle As Range
   With Worksheets("Tabelle1").Range("A2.A13")
       Set rngBereich = .Range("A2:A13")
       .Value = Worksheets("Tabelle2").Range("C2:C13").Value
       For Each rngZelle In .Range("A2.A13")
           If rngZelle.Value = 0 Then
               rngZelle.Value = ""
           End If
       Next
   End With
End Sub


MfG Tom
Antworten Top
#4
Hallo Tom,

funktioniert super.

Vielen Dank  :23: und noch ein schönes WE.

VG Mario
Antworten Top
#5
Hallo,

wen nur Formelergebnisse in den Zellen sind, dann ginge es auch so:


Code:
Private Sub Worksheet_Calculate()

 Worksheets("Tabelle2").Range("C2:C13").SpecialCells(xlCellTypeFormulas, 1).Copy
 Worksheets("Tabelle1").Range("A2").PasteSpecial Paste:=xlPasteValues
 
End Sub
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Mario
Antworten Top
#6
Hallo Atilla,

auch die ein sehr großes Danke für deine Hilfe.

LG Mario
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste