# Microsoft Office Application Help - Excel Help forum > Non English Excel >  >  Wie Paste special in VBA Code einbauen

## walga

Hallo,

ich habe ein eie Combobox, welche mich den Monat auswählen läßt. Jenachdem welcher Monats ausgewählt ist, soll er werte von einer Range in eine andere Range kopieren.
Das Ganze mache ich zwei mal. beim ersten mal funktioniert es super, beim zweiten Mal bekomme ich eine Fehlermeldung.
Der Unterschied der Ausganhszeilen besteht darin, dass in den ersten Zellen (B5:E8) konkrete Werte drin stehen. Im zweiten Bereich (BC5:BF8) stehen Formeln drin. Z. B. "=B5"
[/CODE]

Wenn ich also die Sub ausführe, dann gibt er mir in der Zielzelle ein "#REF!"  aus.   Also die gleiche Meldung, wie ich sie bekomme, wenn ich Eine Zelle mit Formel Kopiere und und woanders "normal" einfüge.

Ich habe gemerkt, dass es funktionoert, wenn ich mit PasteSpecial Values arbeite. Allerdings bekomme ich immer eine Fehlermeldung in meinem unten stehenden Code.





```
Please Login or Register  to view this content.
```


*Frage:* Wie bekomme ich das PasteSpecial Values   in meinen Code?

ps: Da ich rund 300 "Ziel" Quellzeilen zum kopieren habe, will ich nicht jede ancklicken und aus dem  "=B5"  ein "=$B$5"  machen. 

Ich wäre sehr dankbar für eure Hilfe!

VG Alex

----------


## Doc.AElstein

Hi Alex
  Etwa so soll funktionieren




```
Please Login or Register  to view this content.
```


In Deine Code, 



```
Please Login or Register  to view this content.
```


bemützt Du eigentlich diese Methode:

___ Copy___ Destination:=___ 

 (___  Destination:= ___ darfst Du einfach auslassen so wie Du hast ) . Diese ist eine etwa schneller Methode wobei, ( Ich denke) VBA macht eine Umweg um die Zwischenablage und „ratest“ die Format um zu passen. Mal Funktionieret wie Du Willst, mal nicht! ( Mal kopieret Formulare, mal Werte
http://www.mrexcel.com/forum/excel-q...-formulas.html
  )


Mit Diesen Methode:

___  Copy

___  PasteSpecial __Paste:=xl____ 

Kannst Du auswählen welcher Versionen von die kopierte Datei in die Zwischenablage sie einfügen. Also Du hast mehr Kontroller

http://www.mrexcel.com/forum/excel-q...ml#post4071766

Gruß aus Hof
Alan
Bayern

Übrigens ich wurde es Ubers Arrays ( Feld Elementen ) machen




```
Please Login or Register  to view this content.
```

----------


## walga

Hello Doc.AElstein,
many thanks for that. It works fine!

Best wishes for you and your family,
Alex

----------


## HaHoBe

Hi, Alex,

wieso schreibst Du die Bereiche nicht direkt in die Zellen statt zu kopieren und Einfügen/Werte zu versuchen?

Da Du nur zwei Werte angegeben hast, kann ich Dir schlecht eine Schleife zum Kopieren voirschlagen, da mir die Angaben fehlen, aber Du könntest folgenden Code versuchen:




```
Please Login or Register  to view this content.
```


Ciao,
Holger

----------


## walga

Hallo Holger,

auch danke für deinen Tip. ich möchte den Code aber so einfach wie möglich halten, da das File später vom Fachbereich ohne VBA-Kenntnisse genutzt werden soll. Umso mehr ich mit Excel-Formeln hinbekomme, umso besser für sie.

VG Alex

----------


## HaHoBe

Hallo, Alex,

im Titel wird explizit nach VBA Code gefragt, ich verstehe nicht, warum Du dann auf einmal Formeln erwähnst (die darüberhinaus keine Werte speichern können, sondern immer von den vorhandenen Werten der Zielzellen beeinflußt werden). Ich scheine da Einiges an Deinem Vorgehen nicht zu verstehen.

Ciao,
Holger

----------


## Doc.AElstein

Hi Alex




> ....
> many thanks for that. It works fine!....



Bitte!

_ ...................
@ Holger und Alex
  Ich find es toll wenn mehrere Losung gegeben sind. Da lernt man die meisten, meine Meinung nach. Es gibt ja endlich varianten…

 Evtl. als letzter kleine Hilfe von mir..( Geh von aus wir noch auf VBA Losung sind..  )..   ich Habs versuchte die Code von Holger etwas Vereinfacht als zwischen stufe zum verstehe, und als besser Vergleichs zu meinen Code… ( - Bzw. Man kann ja einen Feld von Elementen in eine Range direkt zuweisen an eine andere Range Objekt  )




```
Please Login or Register  to view this content.
```


_ …….
 Da siehst du von ersten Code das es ja sehr ähnlich in Prinzipe zu meinen Code ist ( - Bzw. Man kann ja einen Feld von Elementen in eine Range direkt zuweisen an eine andere Range Objekt  ), …da hat Holger aber das zwischen Array stufe ausgelassen ( Da bin ich gewohnt das ich dann intern in VBA was ändern in das Array vor ich es dann wieder raus zum Arbeitsblätter Paste )

Hoffe dass noch eine bisschen hilft

Alan

P.s
 @ Holger und Alex
( Übrigens, ganz Klein Typo in Holger  Code:
 = ws.Cell*s*(5, varColOrig(lngArr))
 )

P.s. 2
@ Holger
 Falls Du Zeit hast wäre es eine tolle letzter Beitrag wenn du etwa ' kommentieren Deine Code ( evtl meine ' kommentieren korrigieren!! ) so wie ich versuchte habe. Wäre die OP evtl. Hilfe es zu verstehen ( und mich auch Hilfe um mit meine etwas schlechter deutsch!! )
 Danke nochmal fürs extra Beitrag von dir
Alan

----------


## HaHoBe

Hi, Alan,

ich halte überhaupt nichts davon, den Code noch einmal als Kommentar daneben zu schreiben (wofür gibt es eigentlich die Online-Hilfe oder den Objekt-Browser?). Die Personen, die danach "schreien", Kommentare zu erhalten, vergessen nämlich meistens, ihren Kommentar an Änderungen im Code anzupassen. Und "good habit" ist es meiner Meinung nach, eine Beschreibung im Kommentarkopf einer Prozedur zu geben oder oberhalb der Stelle, die man aus bestimmten Gründen so verwenden sollte.

Darüberhinaus finde ich den Code, so wie Du ihn darstellst, überladen und zu sehr vom Wesentlichen ablenkend.

Den Schuh mit dem Fehler bei Cells muss ich mir leider anziehen, ich sollte wenigstens einmal den Debugger laufen lassen.

Ciao,
Holger

----------


## Doc.AElstein

> ....
> Darüber hinaus finde ich den Code, so wie Du ihn darstellst, überladen und zu sehr vom Wesentlichen ablenkend.....



 .. klar doch – Du weise ja die Antwort****……..

Hi Holger

  Danke für Antwort. 
 Ich bin ja sehr dankbar das erfahrend Leute Code geben und damit so viele Leute Hilfen. Echt toll, meine Meinung nach. Das ist das Haupt Sache.

 Mit den   ' Kommentar  ist es evtl. Geschmack Sachen. Manche leibe sie, und sind sehr dankbar so wie war bei mir oft gesagt. Andere, oft sehr erfahrend Leute, wie Du, find sie ablenkend und irritiert. Sorry. Es ist nur das ich gehöre zu den Leute die lernen will um weiter anderer zu Hilfen. Ich sehe so viel super Codes in so viel Threads, Aber  Leider ist die Leistung von die sie die Code geschrieben habe verloren an mich, weil ich zu dumm sind die Code zu verstehe.
 Ich selber leider brauch die Kommentieren. Ich vergess alles sonnst. Und beim Lernen finde ich sie ideal. Aber nur meine Meinung ( Aber sie haben vollkommen  recht, manchmal ich vergesse meine ' Kommentar an Änderungen im Code anzupassen !! )
 Ich schreibe oft eine kleine  Beschreibung im  ' Kommentarkopf einer Prozedur oder oberhalb der Stelle. Dann aber zusätzlich viele zu die recht. Das ist eine versuche um alle zu glücklich machen – In die Code Fenster man sieht dann nur die lange ablenkend  ' Kommentar wenn man mit Absicht die Bildlauf nach rechts schaut 
 Die Online-Hilfe oder den Objekt-Browser finde ich auch nicht so einfach immer. Manche erfahrend Leute sag mich sie  halte nichts so viele davon.  Sie sagen das  in letzter Zeit es nicht so gut ist und man braucht ja fast die Antwort um zu wissen wo zu Schaueren****. Deswegen nochmal Toll das in dieses Forum Erfahrungen Leute gibt Hinweise  wo zu suchen, oder doch selbe gib   '  erklären. 

*Vielen danke für Deine Antwort und alle deine arbeite in Forums.
Schön Wochenende*
Alan

P.s Deine Fehler war nichts. Ich Habs nur es angemerkt fürs OP,   falls er unerfahrener ist: cell wurde oft als Range Objekt Variablen benutzt und fürs Anfänger sowas könnte verwirrend

----------

