Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Variable Bedingung für Kopieren + Einfügen in Excel |
28.06.2016 15:16:17 |
Julia |
|
|
|
28.06.2016 15:17:14 |
Gast88354 |
|
|
|
28.06.2016 17:27:14 |
Gast10417 |
|
|
Von:
Julia |
Datum:
28.06.2016 15:16:17 |
Views:
1132 |
Rating:
|
Antwort:
|
Thema:
Variable Bedingung für Kopieren + Einfügen in Excel |
Hallo zusammen,
per Makro soll folgendes ausgewertet werden:
Wenn ein Datum einer Kategorie (hier Kategorie als Spalte D, F und H) zum Tagesdatum überschritten ist (alle rot gefärbten) muss in eine Extra Datei „Auswertung.xls“ auf dem Desktop folgendes einkopiert werden:
Abhängig, ob in der jeweiligen Zeile etwas „rot“ bzw. eine Frist überschritten wurde die jeweils betroffenen Spalten A, B, und das jeweilige überschrittene Datum in der gleichen Spalte. D.h. D bleibt D und F bleibt F usw.
Wenn keine Fristen in D, F und H überschritten wurde, wird auch gar nichts kopiert.
Sind zwei Spalten rot (wie in Zeile 2 und 3), müssen auch beide Daten mit kopiert werden… wenn drei, dann alle drei….das geht bis maximal sechs Spalten.
Gesamtspalten mit Daten sind D, F, H, J, L und M
Schwierigkeit ist, dass das Einfügen in die Zeildatei immer an der nächstfreien Zeile stattfinden soll….d.h. in der Quelldatei können auch mal Zeilen dazwischen liegen, in denen keine Fristen überschritten sind.. z.B. Quelldatei sind in Zeile 2 und 5 (in Zeile 1 sind die Überschriften) überschrittene Fristen… die Daten müssen aber in der „Auswertung.xls“ in Zeile 2 und 3 eingefügt werden.
Die Mitnahme von Überschriften ist nicht notwendig, die sind in der Zieldatei schon vorhanden.
So sieht es in Excel aus:
[IMG]http://i65.tinypic.com/2l9rrwn.png[/IMG]
Was ich bereits habe:
[CODE]
Set Destination = Workbooks.Open("C:\Desktop\Auswertung.xls")
Set NewSheet = Destination.Worksheets(1)
Worksheets(1).Select
Dim Counter As Integer
Counter = 1
Do
If Cells(Counter, 1) = "" Then
If Cells(Counter + 1, 1) = "" Then
Counter = Counter + 1
Exit Do
End If
End If
Counter = Counter + 1
Loop
Dim newrange As Range
Set newrange = NewSheet.Range(Cells(Counter + 1, 1), Cells(Counter + 1, 1))
newrange.PasteSpecial Paste:=xlPasteValues
Destination.Save
Destination.Close
Sheets("Auswertung").Select
Range("A1").Select
MsgBox "Auswertung erfolgreich!"
[/CODE]
Das setzt aber voraus, dass der gesamte zu kopierende Inhalt davor schon festgelegt wurde und in die Zwischenablage kopiert wurde…. Und das fehlt mir bzw. da komme ich auf keinen grünen Zweig.
Bitte um Hilfe. ?
Danke.
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Variable Bedingung für Kopieren + Einfügen in Excel |
28.06.2016 15:16:17 |
Julia |
|
|
|
28.06.2016 15:17:14 |
Gast88354 |
|
|
|
28.06.2016 17:27:14 |
Gast10417 |
|
|