PDA

Vollständige Version anzeigen : Bereich kopieren und einfügen mit Abfrage Anzahl


McManaman
30.03.2012, 09:51
Hallo zusammen,
bei meinen Problemen habe ich hier immer Hilfe bekommen, deshalb hoffe ich, dass ich weitere Unterstützung bekomme.

Im Anhang seht ihr eine Datei für unsere Platzbelegung vom Tennisverein. Unsere Spielsaison geht meist von Anfang April bis Ende Oktober eines Jahres, da wir nur Außenplätze haben. Ein Tag geht immer über eine DIN A4-Seite.

Ich möchte ein Makro haben, welches mich fragt von welchem Datum bis zu welchem Datum ich diese Seite immer kopiert und eingefügt haben möchte. Die Anzahl der Tage zwischen diesen Daten soll dann kopiert und eingefügt werden. In der Zelle D1 soll dann immer das Datum +1 Tag stehen. Nach jedem Tag soll ein Seitenumbruch eingefügt werden, so dass jeder Tag auf einer Seite steht.

Kann da jemand helfen?

Gruß
Dennis

McManaman
30.03.2012, 09:55
Hier noch mal eine geänderte Datei mit dem richtigen Datumsformat.

McManaman
03.04.2012, 18:00
Da bisher noch keine Antworten eingetroffen sind, hoffe ich, dass das hochholen des Themas Antworten bringt.

Wenn ihr die Anfrage nicht versteht, dann meldet euch gerne.

chris-kaiser
10.04.2012, 10:37
Hi

Anbei ein Versuch ;)

McManaman
10.04.2012, 11:00
Ich mal wieder,
habe mir jetzt in meiner Excel-Datei ein Formular, welches sich nach einem Klick öffnet, erstellt. Da trage ich jetzt die Daten ein. Die Berechnung der Tage, die dazwischen liegen funktioniert auch schon.

Jetzt soll der Bereich A1:E30 kopiert werden und mit der oben ermittelten Anzahl direkt hintereinander eingefügt werden. Der Code müsste ja so ähnlich aussehen, nur das da sicherlich noch eine Schleife eingebaut werden müsste.

Range("A1:E30").Select
Selection.Copy
Range("A31").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("D31").Select
ActiveCell.FormulaR1C1 = "=R[-30]C+1"
Cells.Select
Selection.RowHeight = 27.75
Range("A1").Select

Kann jemand helfen?

Danke
Gruß Dennis

chris-kaiser
10.04.2012, 11:22
Hallo Dennis

Ist es möglich das Du mein Post noch nicht gesehen hast? :D
oder passt meine Demo nicht?

McManaman
10.04.2012, 11:31
Oh, habe ich tatsächlich noch nicht gesehen. Werde ich mal testen. Vielen Dank.

chris-kaiser
10.04.2012, 11:43
Hi

dachte ich mir ;)

anbei noch mit automatischer Terminvergabe.
das Blatt Vorlage ist ausgeblendet.
Formel ggf. erweitern.

:D :D :D

McManaman
10.04.2012, 11:57
Perfekt, genau so soll es sein. Noch eine Verständnisfrage. Wenn man die Datei öffnet, wo ist die Vorlage der Platzbelegung hin?

chris-kaiser
10.04.2012, 12:01
Hi

das Blatt Vorlage ist ausgeblendet.


:)

einfach rechte Maustaste bei einem Blattregister (Tabelle) und einblenden...

[edit]
so die Datei nochmals ein wenig "verfeinert"

McManaman
10.04.2012, 12:56
Ok, danke, habe ich jetzt gefunden. Das ist ja schon mal eine enorme Arbeitserleichterung. Jetzt kommt mein zweites Anliegen.

Die gerade erstellten Seiten sollen mit Belegungen gefüllt werden. Es soll keine Online-Platzbelegung mit Überprüfung sein, ob bereits der Platz belegt ist oder so, sondern nur zum ausdrucken.

Da gibt es unterschiedliche Arten von Belegungen. Termine, die z.B. in der Zeit vom 01.05. bis 30.09.12 an jedem Montag in der Woche auf Platz X stattfinden, also eine Art Serientermin.
Oder einen Einzeltermin, also nur an einem Datum, aber über 2 Plätze (Entweder Platz 1+2 oder Platz 3+4).
Es gibt auch Termine, die über alle 4 Plätze laufen, und dann über mehrere Tage.

Diese Termine sollen dann mit Grau unterlegt werden, und der Text des Termins eingetragen werden. Siehe Anlage.

Kann mir jemand dabei helfen? Keine Ahnung wie ich die Serientermine hinbekomme. Oder zumindest einen Ansatz.

Danke
Gruß Dennis

chris-kaiser
10.04.2012, 13:14
Hallo Dennis

Das mit den "Serienterminen" habe ich bereits erledigt.
siehe meine zweite Demo.
so in der Art sollte es sein oder? zumindest mal die Ansätze...


Irgendwie habe ich das Gefühl das wir der Relativitätstheorie unterliegen. ^^
:grins: :grins: :grins: und in einer Art Zeitverschiebung gefangen sind.

McManaman
10.04.2012, 15:06
Sauber, das sieht ja schon richtig gut aus. Habe noch einige Fragen dazu:

1. Ist es noch möglich, dass der Text nur in der Anfangsstunde zu lesen ist, und die Gesamtzeit dann grau unterlegt ist? Oder ist der Aufwand zu groß dies zu ändern?

2. Ist es möglich den Text, wenn er für die Spalte zu lang sein sollte, auch in die Zeile darunter laufen zu lassen. So eine Art Zeilenumbruch, aber in die Zelle darunter. Sonst ist die Schrift auf dem Ausdruck so klein.

3. Können auch Einzeltermine eingetragen werden? Also nur am z.B. 01.05.12

4. Wie sieht es mit Terminen aus, die über 2 Plätze laufen bzw. über alle 4 Plätze?

Schon mal einen riesengroßen Dank an dich für deine Hilfe. :hands:

Gruß
Dennis

chris-kaiser
10.04.2012, 15:19
Hallo Dennis

es gibt fast nichts, was nicht gehen würde.
Ich kann es nicht versprechen, aber möglicherweise komme ich morgen Nachmittag dazu einen Versuch zu starten.

Aber vielleicht kommt mir ja noch jemand zuvor und löst es. :)

chris-kaiser
11.04.2012, 13:18
Hi

so komplett frisch und nahezu ungetestet.

McManaman
11.04.2012, 15:06
Das ist ja fantastisch, anders kann ich es nicht ausdrücken. :boah:

Darf ich noch 3 "kleine" Wünsche äußern?

1. Nach Möglichkeit sollte auch die Zelle farblich ausgefüllt sein in der der Text steht.

2. Farbe sollte heller sein. Habe die Stelle im Code schon selber gefunden und ColorIndex auf 15 gesetzt.

3. Kann man mit VBA irgendwie eine horizontale Linie in jede Zelle von Spalte B bis E einfügen, so dass man je Stunde wieder zwei Zeilen hat, zumindest in denen, wo kein Text steht?

Punkt 3 wäre schon schön, aber nicht zwingend erforderlich.

Vielen vielen Dank

Gruß
Dennis

chris-kaiser
11.04.2012, 15:50
hi

1. erledigt :)

2. hast du ja schon gefunden

3....... da müsste ich alles umschreiben.

4. ich habe Dir gleich eine Prüfung für Doppelbelegungen eingebaut.
dann wird die Zelle rot.
:grins: :grins:

McManaman
11.04.2012, 20:50
Super, vielen Dank.

Das Projekt ist also erledigt.

Gruß
Dennis

McManaman
13.04.2012, 08:27
Hallo chris-kaiser, ich nochmal,
bei der Arbeit mit der Datei ist mir ein Fehler? aufgefallen. Irgendwie scheint der Code Probleme zu haben, wenn die Beginnzeit auf 16.00 Uhr fällt.
Bei einem anderen Termin trägt er 2 Stunden ein, obwohl der Termin nur eine Stunde geht. Bei einem anderen Termin macht er die Zeile um 16.00 Uhr komplett rot, obwohl kein weiterer Termin zu dieser Zeit drinnen ist.
Termin Training Stefan markiert er auch von 14.00 bis 21.00 Uhr, obwohl nur bis 20.00 Uhr eingetragen ist.

Wenn du Zeit hast, könntest du nochmal nachschauen wo das Problem ist?

Ich danke dir. Habe die Datei mit meinen Eintragungen nochmal angehängt.

Gruß
Dennis

chris-kaiser
13.04.2012, 10:37
Hi

klassische Falle....
ich habe ja Uhrzeiten.....
Da ein Blechtrottel nie genau rechnet sollte die Uhrzeiten gerundet werden.
War mein Fehler :(
Ich habe mal auf die Schnelle was geändert, aber noch nicht getestet.

McManaman
13.04.2012, 12:43
Hallo,

scheint alles zu funktionieren. Vielen Dank nochmal.

Schönes Wochenende.

Gruß
Dennis

McManaman
25.04.2012, 10:33
Hallo, nochmal ich.

Bei weiteren Eintragungen in der Datei ist mir aufgefallen, dass wöchentliche Termine nicht erst ab dem Datum eingetragen werden, wie der Termin erstellt ist, sondern bereits früher.
Würdest du da nochmal nachschauen, wenn du Zeit hast?

Ich hänge meine aktuelle Datei mal mit an, damit du schauen kannst.

Gruß
Dennis

chris-kaiser
25.04.2012, 11:03
Hi

so hier mal ein Versuch.
:)
passt sonst alles.... ? :)

McManaman
25.04.2012, 12:05
Stand jetzt funktioniert es soweit. Vielen Dank für die sehr schnelle Hilfe.

Gruß
Dennis