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.

pastespecial integrieren
#1
Hallo zusammen,

da die Formatierung beim Kopiervorgang verloren geht, habe ich versucht den pastespecial Befehl zu integrieren, allerdings erfolglos.

Sub LoopThroughDirectory()

Dim MyFile As String 
Dim Filepath As String
 
Filepath = "C:\Test Excel\Messdaten\"
MyFile = Dir(Filepath)

Do While Len(MyFile) > 0  
    
     Workbooks.Open (Filepath & MyFile), Local:=True
     Range("Q36").Copy       
     ActiveWorkbook.Close

Workbooks("loopthroughdirectory.xlsm").Worksheets("Tabelle1").Range("A1").Select
ActiveSheet.Paste Destination:=Worksheets("Tabelle1").Range("A1")
    
MyFile = Dir
    
Loop
 
End Sub

Grüße
Antworten Top
#2
Moin und willkommen im Forum!
Zitat:habe ich versucht den pastespecial Befehl zu integrieren

Öhmmm: wo isser denn?
https://msdn.microsoft.com/de-de/library...39476.aspx

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hallo

ohhh ohhh, der Code ist meines Erachtens sehr Heikel !!

Zitat:ActiveSheet.Paste  Destination:=Worksheets("Tabelle1").Range("A1")

Die Selection von Range("A1") kann nur erfolgen wenn die Datei ordnungsgemaess geschlossen wurde, dann ist Workbooks("loopthroughdirectory.xlsm") automatisch wieder die aktive Mappe.  Tabelle1 muss schon vorher Selektiert sein, kommt bei Range("A1").Select meines Wissens eine Fehlermeldung! 

Das Doppel-Konstrukt im Zitat habe ich so auch noch nie gesehen und extra mal nachgestellt. Bei mir klappt es mit AktiveSheet.Paste.  Das Destination dahinter hebt aber bei mir die Kopierwirkung wieder auf !!  Effekt = Null, nix kopiert.

Ich schlage vor den Code wie unten zu aendern, ohne Select, das ist überflüssig. Ob das Format übernommen wird kann ich nicht sagen??

mfg  Gast 123


Code:
Do While Len(MyFile) > 0
    Workbooks.Open (Filepath & MyFile), Local:=True
    Range("Q36").Copy
    ActiveWorkbook.Close

   Workbooks("loopthroughdirectory.xlsm").Worksheets("Tabelle1").Range("A1").PasteSpecial xlPasteAll
MyFile = Dir
Antworten Top
#4
Nachtrag:

ich sehe gerade das ganze laeuft ja in einer Do Loop Schleife.  Da ist es aber sicher nicht sinnvoll alle Messdaten immer in die Zelle A1 zu schreiben, die wird ja staendig überschrieben!  Das macht bestimmt keinen Sinn.  Dann besser wie unten.  Vor dem Do Befehl muss die Varaibel z = 1 oder n.. mit der ersten Zeile zum auflisten definiert werden!

Workbooks("loopthroughdirectory.xlsm").Worksheets("Tabelle1").Cells(z, 1).PasteSpecial xlPasteAll
z = z + 1   'Zaehler für naechste Zeile nach unten
Antworten Top


Gehe zu:


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