Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Range - Copy Destination & PasteSpecial

Range - Copy Destination & PasteSpecial
07.10.2013 22:21:30
Thomas
Hallo Erich & Bastian!
Vielen Dank für Eure Hilfe, leider war der Thread schon geschlossen (von mir?) und ich konnte nicht mehr auf Antworten...
Jedenfalls hat die Variante von Erich bestens funkioniert und ich werde sie auch verwenden, die von Dir Bastian leider nicht - zumindest in dieser Form bei mir nicht?
liebe Grüße!
Thomas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Thread ist nicht geschlossen
08.10.2013 01:09:15
Erich
Hi Thomas,
was genau meinst du mit "war der Thread schon geschlossen"?
Auf Beiträge in einem Thread kann man bis ca. eine Woche nach der Threaderöffnung antworten.
Zum Archiv, der aktuellen Liste und den offenen Beiträgen schau dir mal meinen Beitrag hier an:
https://www.herber.de/forum/archiv/1304to1308/1305292_Wieso_im_Archiv.html#1305372
Oder hier:
https://www.herber.de/forum/archiv/1280to1284/1280854_Formatierung_erweitern.html#1280902
und
https://www.herber.de/forum/archiv/1200to1204/1200643_An_Luc_Danke_sehr_Datum_von_letzter_Woche.html#1200888
oder
https://www.herber.de/forum/archiv/1280to1284/1280854_Formatierung_erweitern.html#1280902
In deinem alten Thread habe ich noch mal etwas geantwortet. :-)
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
Erweiterung....
08.10.2013 21:59:29
Thomas
Hallo Nochmals!
und schon wieder gescheitert....
ich versuch's zu schildern:
die Monatszusammenfassung die ich machen möchte soll nicht in einer eigenen Datei sein sondern in einem Tabellenblatt in der gleichen Datei wie die Tagesdaten - in diesem Fall funktioniert das Maktro so lange, solange nicht "heute" in die Übersicht miteingschlossen werden soll - also die bereits offene Datei geöffnet werden soll - dann kommt natürlich eine Fehlermeldung. die Aufgabe wäre jetzt vom Makro zu prüfen ob (der Name der Datei in dem sich das Makro befindet steht in A1) die Datei die geöffnet werden soll die ist die in A1 steht -und falls ja, keine Datei zu öffnen sondern die Werte "einfach" aus der aktuellen Datei aus dem Tabellenblatt "TAF" zu übernehmen
Ich hoffe das war halbwegs verständlich?
Danke!
lg Thomas
Sub MonatsZusammenfassung()
Dim strOrdner As String, strTagZusFass As String
Dim lngZeile As Long
Dim wksMonatZusFass As Worksheet
Dim strTagDatei As String
Dim wkbTag As Workbook, wksTAF As Worksheet
Set wksMonatZusFass = ActiveSheet 'Zieltabelle
With wksMonatZusFass
strTagZusFass = .Range("B5").Text
strOrdner = .Range("B6").Text
'Zeilen in Spalte A ab Zeile 10 abarbeiten
For lngZeile = 10 To .Cells(.Rows.Count, 1).End(xlUp).Row    'Korrektur Zeile -- lngZeile
'Prüfen, ob leer
If .Cells(lngZeile, 1) = "" Then Exit For
'Eintrag in Spalte A
strTagDatei = .Cells(lngZeile, 1).Text
'Prüfen, ob Datei vorhanden
'If .Cells(lngZeile, 1) = .Range("A1") Then GoTo weiter
If Dir(strOrdner & Application.PathSeparator & strTagDatei)  "" Then 'Korrektur strPfad  _
_
-- strOrdner
'Datei schreibgeschützt öffnen
Set wkbTag = Application.Workbooks.Open(Filename:=strOrdner & _
Application.PathSeparator & strTagDatei, ReadOnly:=True)  'Korrektur strPfad -- _
strOrdner
'weiter:
Set wksTAF = wkbTag.Worksheets("TAF")
'Daten nach Ziel kopieren
.Cells(lngZeile, 2) = wksTAF.Range("C3").Value
.Cells(lngZeile, 3) = wksTAF.Range("C4").Value
.Cells(lngZeile, 4) = wksTAF.Range("C5").Value
.Cells(lngZeile, 5) = wksTAF.Range("C6").Value
.Cells(lngZeile, 6) = wksTAF.Range("e3").Value
.Cells(lngZeile, 7) = wksTAF.Range("e4").Value
.Cells(lngZeile, 8) = wksTAF.Range("e7").Value
.Cells(lngZeile, 9) = wksTAF.Range("e5").Value
.Cells(lngZeile, 10) = wksTAF.Range("e6").Value
.Cells(lngZeile, 11) = wksTAF.Range("h3").Value
.Cells(lngZeile, 12) = wksTAF.Range("h4").Value
.Cells(lngZeile, 13) = wksTAF.Range("h5").Value
.Cells(lngZeile, 14) = wksTAF.Range("h6").Value
.Cells(lngZeile, 15) = wksTAF.Range("h7").Value
'Tages-Datei wieder schliessen
wkbTag.Close savechanges:=False
End If
Next
End With
End Sub

Anzeige
ThisWorkbook nicht öffnen
09.10.2013 01:10:18
Erich
Hi Thomas,
das Antworten in einem bestehenden Thread klappt jetzt also - erfreulich! :-)
Schau dir den Code mal an:

Option Explicit
Sub MonatsZusammenfassung()
Dim strOrdner As String, strTagZusFass As String
Dim lngZeile As Long
Dim wksMonatZusFass As Worksheet
Dim strTagDatei As String
Dim wkbTag As Workbook, wksTAF As Worksheet
Set wksMonatZusFass = ActiveSheet 'Zieltabelle
With wksMonatZusFass
strTagZusFass = .Range("B5").Text
strOrdner = .Range("B6").Text
'Zeilen in Spalte A ab Zeile 10 abarbeiten
For lngZeile = 10 To .Cells(.Rows.Count, 1).End(xlUp).Row 'Korrektur Zeile -- lngZeile
'Prüfen, ob leer
If .Cells(lngZeile, 1) = "" Then Exit For
'Eintrag in Spalte A
strTagDatei = .Cells(lngZeile, 1).Text
'Prüfen, ob Datei vorhanden
'If .Cells(lngZeile, 1) = .Range("A1") Then GoTo weiter
'Korrektur strPfad -- strOrdner
If Dir(strOrdner & Application.PathSeparator & strTagDatei)  "" Then
If UCase$(strTagDatei) = UCase$(ThisWorkbook.Name) Then
Set wkbTag = ThisWorkbook
Else
'Datei schreibgeschützt öffnen          'Korrektur strPfad -- strOrdner
Set wkbTag = Application.Workbooks.Open(Filename:=strOrdner & _
Application.PathSeparator & strTagDatei, ReadOnly:=True)
End If
'weiter:
Set wksTAF = wkbTag.Worksheets("TAF")
'Daten nach Ziel kopieren
.Cells(lngZeile, 2).Resize(4) = wksTAF.Range("C3").Resize(4).Value
'       .Cells(lngZeile, 2) = wksTAF.Range("C3").Value
'       .Cells(lngZeile, 3) = wksTAF.Range("C4").Value
'       .Cells(lngZeile, 4) = wksTAF.Range("C5").Value
'       .Cells(lngZeile, 5) = wksTAF.Range("C6").Value
.Cells(lngZeile, 6) = wksTAF.Range("e3").Value
.Cells(lngZeile, 7) = wksTAF.Range("e4").Value
.Cells(lngZeile, 8) = wksTAF.Range("e7").Value
.Cells(lngZeile, 9) = wksTAF.Range("e5").Value
.Cells(lngZeile, 10) = wksTAF.Range("e6").Value
.Cells(lngZeile, 11).Resize(5) = wksTAF.Range("h3").Resize(5).Value
'       .Cells(lngZeile, 11) = wksTAF.Range("h3").Value
'       .Cells(lngZeile, 12) = wksTAF.Range("h4").Value
'       .Cells(lngZeile, 13) = wksTAF.Range("h5").Value
'       .Cells(lngZeile, 14) = wksTAF.Range("h6").Value
'       .Cells(lngZeile, 15) = wksTAF.Range("h7").Value
If UCase$(strTagDatei)  UCase$(ThisWorkbook.Name) Then _
wkbTag.Close savechanges:=False   'Tages-Datei wieder schliessen
End If
Next
End With
End Sub
Noch ein Tipp:
Wenn die Zeilen (incl. der Kommentare) nicht so lang sind, muss die Forumssoftware keine Umbrüche einfügen,
der Code wird dann schöner dargestellt.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige