PDA

Vollständige Version anzeigen : grafik in Zelle einbinden


optimfish
16.07.2006, 08:53
Hallo zusammen

Hier habe ich noch eine relativ klare Frage:

In einer Datei habe ich 2 Blätter. Im ersten die Mitarbeiter und im 2. Blatt fürs ganze Jahr die Stundenplanung. Die "Mitarbeiter" (Zellen) sind verknüpft mit dem 2. Blatt. Wenn ich also im 1. Blatt den Mitarbeiternamen ändere, wird der Name im 2. Blatt 50 mal geändert.

Nun möchte ich aber den Mitarbeitern eine kleine Grafik zuordnen. (Etwa wie bei den Konten von XP)

Kann ich eine Grafik in eine Zelle einbinden, so dass sie in den vernküpften Zellen auch erscheint? Mit anderen Worten, ich möchte im Blatt "Mitarbeiter" zu jedem Mitarbeitern eine Grafik hinzufügen, die dann in der aktuellen Wochenplanung ebenfalls erscheint.

Beverly
16.07.2006, 12:23
Hi Franz,

es gibt da wohl eine Möglichkeit, das Ganze mit Formeln zu machen. Ich habe mal in einem anderen Forum eine Lösung gesehen, die ich dir als Arbeitsmappe angehängt habe. Allerdings stehe ich mit Formeln ein wenig auf Kriegsfuss :p, sodass ich dir bei der Umsetzung mit deinem Beipspiel leider nicht weiterhelfen kann. Aber vielleicht hilft es dir als Denkanstoss.

Mit VBA wäre z.B. diese Lösung möglich
Private Sub Worksheet_Change(ByVal Target As Range)
Dim loShape As Long
Dim raZelle As Range
Dim strAnfangsadresse As String
If Intersect(Target, Range("C2:C13")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Target.Offset(0, 1).CopyPicture Appearance:=xlPrinter, Format:=xlPicture
Worksheets("2006").Activate
With Worksheets("2006").Columns(1)
Set raZelle = .Find(Target, lookat:=xlWhole, LookIn:=xlValues)
If Not raZelle Is Nothing Then
strAnfangsadresse = raZelle.Address
Do
For loShape = 1 To ActiveSheet.Shapes.Count
If ActiveSheet.Shapes(loShape).Top = raZelle.Offset(1, 0).Top Then
ActiveSheet.Shapes(loShape).Delete
Exit For
End If
Next loShape
ActiveSheet.Pictures.Paste.Top = raZelle.Offset(1, 0).Top
Set raZelle = .FindNext(raZelle)
Loop While Not raZelle Is Nothing And raZelle.Address <> strAnfangsadresse
End If
End With
Worksheets("Mitarbeiter").Activate
Application.ScreenUpdating = True
End Sub

jinx
16.07.2006, 17:27
<font size="2" face="Century Gothic">Moin, Franz,

meines Wissens lassen sich Grafiken als Shapes nicht in Zellen einbinden, sondern nur darüber ablegen und an die Zelle anbinden - egal, ob per VBA oder per Formel... ;)</font>

optimfish
16.07.2006, 20:19
@Karin

Herzlichen Dank für eine Tipps! Und zur Information, in VBA bin ich eine absolute Null und auf Hilfe angewiesen! Ich habe bloss viele Ideen :D , die meinem Herr Lehrer (siehe unten ;) manchmal gefallen, meistens wirft er sie aber auf den Haufen :rolleyes: . So, Spass beiseite, das mit den Bildern ist eine interessante Sache. Ich habe die Datei bereits in meinem Archiv. Vielleicht kann ich das mal brauchen. Aber für mein Beispiel kann ich mir nicht vorstellen, das einzusetzen. Kannst du mir vielleicht kurz beschreiben, wie denn dein VBA Code einzusetzen wäre und was ich mit den Grafiken tun müsste? Wie hast du dir das vorgestellt, konkret zu meinem Beispiel?

@Jinx

Wenn sich Grafiken nicht einbinden lassen, aber anbinden, wäre denn mein Anliegen möglich? Also anders gefragt: Lassen sich "angebundene" Grafiken über Verweise und Formeln kopieren?

Meine Idee war eigentlich, dass man die Grafiken in Text umwandeln könnte und auf dem anderen Sheet per VBA wieder zurückverwandeln! Ist das ein Hirngespinst?

Beverly
16.07.2006, 20:38
Hi Franz,

natürlich habe ich das in deiner Arbeitsmappe auch getestet und hänge sie dir hiermit an. Die Grafiken aus der Tabelle "Mitarbeiter" werden in der "Tabelle2006" entsprechend dem zugehörigen Namen auf die Zelle unter diesem Namen gelegt und zwar so, dass sie passgerecht an den oberen Zellenrand geschoben werden. Wenn nun in Tabelle "Mitarbeiter" im Bereich "C2:C13" ein Name geändert wird, werden in Tabelle2006 zuerst alle die Garfiken gelöscht, deren oberer Rand mit dem oberen Rand der Zelle unterhalb des entsprechenden Namens übereinstimmt. Anschließend wird an dieselbe Position die neue Grafik kopiert, d.h. die Grafiken werden nicht in die Zelle eingefügt sondern an eine bestimmte Position angebunden.

optimfish
16.07.2006, 20:53
Hallo Karin

Das hast du aber ganz schön gezaubert! Danke vielmals. Nur, ich habe vorher schon deinen Code auch eingefügt, an derselben Stelle wie du, aber es hat nicht funktioniert! Ich finde das ganz toll! Es würde mich freuen, wenn du mir jetzt noch weiterhelfen kannst.
Bei mir wird bis jetzt nur die Grafik bei Franz im Blatt "2006" angezeigt. Deine farbigen Rechtecke erscheinen bei mir im "2006" nicht.

Aber grundsätzlich: Wenn ich eine neue Grafik einem Namen zuweisen will, wie muss ich da vorgehen? Ich nehme an, ich muss im Code irgendwo den Namen der Grafik hinschreiben, nicht? Oder wie weiss das Makro, welche Grafik welchem Namen "angehängt" ist?

Beverly
16.07.2006, 21:40
Hi Franz,

wenn du in der Tabelle "Mitarbeiter" ganz einfach in jeder Zelle F2 und dann ET drückst, dürften alle Grafiken eingefügt worden sein. ;)

Den Namen der Grafik benötigst du nicht, weil mit dieser Codezeile
Target.Offset(0, 1).CopyPicture Appearance:=xlPrinter, Format:=xlPicture
die Zelle rechts neben dem Namen als Bild kopiert wird, und nicht die Grafik selbst. Wnn du mal in "2006" solch ein Bildchen anklickst, wirst du sehen, dass es breiter als die eigentliche Grafik in "Mitarbeiter" ist. Deshalb musst du darauf achten, dass die Spaltenbreite von C in "Mitarbeiter" nicht breiter als Spalte A in "2006" ist, besser noch genau so breit, damit die Grafik genau in der Mitte der Spalte platziert wird (wenn sie denn in "Mitarbeiter" ebenfalls in der Mitte der Spalte ist). Du kannst natürlich auch die Spalte in "Mitarbeiter" genau so schmal wir die Grafik machen, musst dann aber in Tabelle "2006" die Kopie horizontal entsprechend anders positionieren.

Man könnte das Ganze natürlich auch als direkte Kopie der Grafik machen, aber dann müsste man wirklich den Namen der jeweiligen Grafik verwenden.

Beverly
16.07.2006, 22:07
Hi Franz,

hier mal noch ein Code mit direkter Kope der Grafiken. Beachte bitte, dass jede Grafik mit dem Namen der Person benannt ist. Das erreichst du, indem du die Grafik markierst und in das Namenfeld (oben links neben der Bearbeitungsleiste) den Namen einträgst

Private Sub Worksheet_Change(ByVal Target As Range)
Dim loShape As Long
Dim raZelle As Range
Dim strAnfangsadresse As String
If Intersect(Target, Range("C2:C13")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
ActiveSheet.Shapes(Target).Copy
Worksheets("2006").Activate
With Worksheets("2006").Columns(1)
Set raZelle = .Find(Target, lookat:=xlWhole, LookIn:=xlValues)
If Not raZelle Is Nothing Then
strAnfangsadresse = raZelle.Address
Do
For loShape = 1 To ActiveSheet.Shapes.Count
If ActiveSheet.Shapes(loShape).Top = raZelle.Offset(1, 0).Top Then
ActiveSheet.Shapes(loShape).Delete
Exit For
End If
Next loShape
ActiveSheet.Paste
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Top = raZelle.Offset(1, 0).Top
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Left = _
raZelle.Offset(1, 0).Left + 25 ' <== diese Zahl evtl. anpassen, ist die horizontale Position
Set raZelle = .FindNext(raZelle)
Loop While Not raZelle Is Nothing And raZelle.Address <> strAnfangsadresse
End If
.Range(raZelle.Address).Select
End With
Worksheets("Mitarbeiter").Activate
Application.ScreenUpdating = True
End Sub

optimfish
16.07.2006, 22:10
Das ist wunderschön, Karin!

Ich bin begeistert! Bestimmt kann ich diese Funktion auch einmal anderswo gebrauchen. Mal schauen, was meine jetzt schon begeisterte Chefin zu diesem grafischen Leckerbissen meint! Aber das mit F2 konnte ich natürlich nicht ahnen. Mein Lehrer, der Jinx hätte das bestimmt gewusst und wenn er meine Frage gelesen hat, hat er sich bestimmt ins Fäustchen gelacht :grins: Also tausend Dank, hat mich gefreut, dich wieder mal zu treffen. (Wir haben schon mal über Duplikate philosophiert, und in der Philosophie kenn ich mich eher aus, als beim Programmieren ;) ) PS, wäre das möglich, eine Grafik in Text umwandeln und dann so in die Zelle einfügen?

Bin gerade an einem grossen Projekt mit Jinx, vielleicht hast du's auch gesehen, das mit dem Pilzverein! Bin gespannt wie das noch herauskommt. Drück mir auch den Daumen, dass ich seine Anweisungen irgendwie nachvollziehen kann, gell!

Also, tschüsss

optimfish
16.07.2006, 22:47
Hallo Karin

Da kommt mir gerade noch vor Geisterstunde etwas in den Sinn! In der Originaldatei habe ich bereits 52 Wochenblätter drin. Jetzt wenn ich so ne Grafik drin habe, wäre es toll, wenn die Namen im Sheet "2006" 2 Zeilen weiter oben wären! Kennst du dazu ein Makro oder muss ich alle 600 Namen von Hand 2 Zeilen hinaufverschieben, wenn ich das wollte?

Ich wünsche dir einen guten Wochenstart!

Beverly
17.07.2006, 06:51
Hi Franz,

das mit dem F2 drücken ist nichts anderes gewesen als wenn du den Namen noch einmal in die Zelle eingetragen hättest - F2 ist mit der Funktion Editieren belegt.

Für das Verschieben der Zellbezüge in der Tabelle kannst du folgenden Code verwenden
Sub verschieben()
Dim loLetzte As Long, loZeile As Long
With Worksheets("2006")
loLetzte = IIf(IsEmpty(.Cells(Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, .Rows.Count)
For loZeile = 1 To loLetzte
If .Cells(loZeile, 1).HasFormula Then
.Cells(loZeile - 1, 1).FormulaLocal = .Cells(loZeile, 1).FormulaLocal
.Cells(loZeile, 1).ClearContents
End If
Next loZeile
End With
End Sub

Falls du für dein Projekt die Variante mit der Vergabe eines Namens für die Grafik bevorzugen solltest, dann sag/schreib Bescheid, denn dann muss der oben gepostete Code noch ein wenig verändert werden, damit die Namen der Grafiken bei Änderung des Namens in der Tabelle "Mitarbeiter" automatosch angepasst wird.

Grafiken sind Objekte, die kann man nicht in Text umwandeln. Wie sollte deren Inhalt denn codiert werden? Mag sein, dass das programmtechnisch schon irgendwie machbar ist, aber bestimmt mit solch einem Aufwand, dass der sich ganz bestimmt nicht lohnen würde, zumal es ja eben auch so geht wie bisher ;).

Bis später,
Karin

PS: für dein Pilzvorhaben wünsche ich dir viel Erfolg. Wenn du denn ausreichend gesammelt hast, kannst du ja gerne ein paar vorbeibringen (aber nur essbare!) und dann können wir ein wenig weiter philosophieren - Programmieren ist doch auch eine Philosophie.

optimfish
17.07.2006, 22:29
Hallo Karin

Herzlichen Dank für deine Hilfe! Das war ganz super! Dein Verschieben Makro funktionierte wunderbar. Komisch nur, bei der Hälfte der Tabelle wurden die Namen plötzlich in einer kleinen Schrift und linksbündig eingefügt. Scheinbar waren diese Zellen so formatiert. Aber die Formatierung wieder in Ordnung bringen ist ein kleiner Fisch im Vergleich zur Arbeit, die du mir mit deinem Code abgenommen hast!

Und was die Pilze anbelangt, kein Problem, ich werde es dann meinem Freund (der ist Pilzkontrolleur) mal sagen. Muss mir aber noch überlegen, wo ich den Hubschrauber her nehme, um sie dir genügend schnell zu bringen. Ich nehm ja an, du kommst auch aus dem hohen Norden!?? Ansonsten bin ich mit dir einverstanden, bezüglich Philosophieren. Und du als Diplom Geologe solltest jetzt eigentlich nach Grindelwald im Berner Oberland (CH) pilgern, wo wohl bald der grösste Felsen zu Tale stürzen wird, den man je im Alpenraum beobachtet hat. http://www.blick.ch/eiger Da könntest du die Pilze gleich selber mitnehmen :grins:

Tschüsss und nochmals lieben Dank

optimfish
19.07.2006, 16:45
Hallo Karin

Es hat sich bei der Bearbeitung ein Problem herauskristalliesiert. Das löschen der Mitarbeiter verursacht bei mir Probleme. Der Vorgang hört nie auf und ich beende den mit Esc und den Debugger auch beenden. So wird der Mitarbeiter zwar gelöscht, wenn ich dann aber die verknüpften Grafiken lösche funktioniert das scheinbar. Positioniere ich aber dann eine andere Grafik, wird die etwa 15 Spalten rechts vom "Soll-Ort" eingefügt, auf dem Blatt "2006".

Ich konnte das Problem auf Umwegen lösen. Ich wollte dich aber einfach fragen, ob das Problem bei dir auch auftritt, oder ob du die Daten in "Mitarbeiter" problemlos austauschen kannst?

Ein weiterer Schönheitsfehler sind die Datumszahlen. Meine Chefin wünscht sich, das die Nullen vor den 10er-Reihen nicht erscheinen. Also anstatt 01 eine 1. Ich habe gedacht kein Problem, Spalte markieren und Format ändern... aber ola, das ist ja ein Datumsformat und dazu noch mit einem Code verknüpft... Weisst du die Lösung? Wenn nicht, ist nicht schlimm, dann lassen wir es so.

Tschüsss

Beverly
20.07.2006, 07:29
Hi Franz,

da bisher nicht die Rede davon war, dass Mitarbeiter auch gelöscht werden sollen, habe ich das bei der Erstellung des Codes nicht berücksichtigt. Ich habe ihn dahingehend nochmal überarbeitet. Das Löschen hat sich als ziemlich kompliziert (zumindest für meine Programmier-Kenntnisse) erwiesen und ich musste den Befehl On Error Goto verwenden, weil ich keine andere Lösung gefunden habe. Soweit ich das bisher getestet habe, scheint es damit aber keine Probleme zu geben. Ich habe jetzt auch die Variante mit der Vergabe von Namen für die Grafiken genommen, da sich das besser machen lässt.

Diesen Code unter die tabelle "Mitarbeiter"
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim loShape As Long
Dim raZelle As Range
Dim strAnfangsadresse As String
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("C2:C13")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
If Target = "" Then
On Error GoTo Fehler
ActiveSheet.Shapes(strNameAlt).Name = "Bild" & Target.Offset(0, -1)
Worksheets("2006").Activate
With Worksheets("2006").Columns(1)
For loShape = 1 To ActiveSheet.Shapes.Count
ActiveSheet.Shapes(strNameAlt).Delete
Next loShape
End With
Else
For loShape = 1 To ActiveSheet.Shapes.Count
If ActiveSheet.Shapes(loShape).Top = Target.Top Then
ActiveSheet.Shapes(loShape).Name = Target
Exit For
End If
Next loShape
On Error GoTo Fehler
ActiveSheet.Shapes(Target).Copy
Worksheets("2006").Activate
With Worksheets("2006").Columns(1)
Set raZelle = .Find(Target, lookat:=xlWhole, LookIn:=xlValues)
If Not raZelle Is Nothing Then
strAnfangsadresse = raZelle.Address
Do
For loShape = 1 To ActiveSheet.Shapes.Count
If ActiveSheet.Shapes(loShape).Top = raZelle.Offset(1, 0).Top Then
ActiveSheet.Shapes(loShape).Delete
Exit For
End If
Next loShape
ActiveSheet.Paste
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Top = raZelle.Offset(1, 0).Top
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Left = raZelle.Offset(1, 0).Left + 25
Set raZelle = .FindNext(raZelle)
Loop While Not raZelle Is Nothing And raZelle.Address <> strAnfangsadresse
End If
.Range(raZelle.Address).Select
End With
End If
Fehler:
Worksheets("Mitarbeiter").Activate
Application.ScreenUpdating = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("C2:C13")) Is Nothing Then Exit Sub
strNameAlt = Target
End Sub
und diesen in ein allgemeines Modul
Option Explicit
Public strNameAlt As String

Wichtig ist, dass die Grafiken in der Tabelle "Mitarbeiter" am oberen Rand der Zelle ausgerichtet sind. Um das nicht von Hand machen zu müssen (ist ja auch ein wenig schwierig ;) ), kannst du diesen Code verwenden
Sub grafiken_ausrichten()
Dim loI As Integer
Worksheets("Mitarbeiter").Activate
On Error GoTo Fehler
For loI = 1 To ActiveSheet.Shapes.Count
ActiveSheet.Shapes(Cells(loI + 1, 3)).Top = Cells(loI + 1, 3).Top
Next loI
Fehler:
End Sub

Du musst auch sicherstellen, dass Namen nicht doppelt vergeben werden können, sonst funktioniert das Ganze nicht.

Was die Frage mit "1" anstelle von "01" betrifft, könntest du evtl. das Format von benutzerdefiniert "TT" auf "T" ändern. Ich habe nicht feststellen können, dass dein enthaltener Code irgendwie darauf zugreift. Was allerdings die Formeln betrifft, die sich darauf beziehen, so habe ich das nicht getestet (Formeln sind nicht so mein Metier :rolleyes: )

optimfish
20.07.2006, 12:01
Hallo Karin

Herzlichen Dank für deinen riesen Job! Ich bin noch nicht dazu gekommen, dein neues Makro einzubauen. Irgendwie habe ich es ja mit dem bestehendem geschafft, aber über etliche Umwege:löschen, leer F2 drücken usw. Weisst du, bei uns im Wohnheim arbeiten ja immer Praktikanten und die wechseln stets und auch kommt es vor, dass jemandem die Grafik nicht gefällt, da muss man sie halt auswechseln. Verstehst du?

Dein Vorschlag mit dem Datumsformat "T" funktioniert! Danke, Karin!

Ich werde später einmal versuchen dein Makro einzubauen und melde mich dann wieder!

Ciao

optimfish
20.07.2006, 23:29
Hallo Karin

Ich habe jetzt deinen Code mal integriert, aber vielleicht nicht am richtigen Ort. Insbesondere weiss ich nicht, was genau ein "allgemeines Modul" ist. Das Auswechseln der Namen funktioniert super, aber die Grafken reagieren jetzt gar nicht mehr???? Auch das Ausrichten der Grafiken funktioniert bei mir nicht mit dem Makro.

Vielleicht findest du den Fehler in meiner angehängten Datei?

Beverly
21.07.2006, 16:33
Hi Franz,

den Code hattest du schon an der richtigen Stelle eingefügt :). Aber wenn du eine Grafik hinzufügst, musst du ihr zuerst den Namen des Mitarbeiters geben. Auf dieser Basis sucht der Code dann die Grafik.

Der Fehler kam außerdem dadurch zustande, dass noch andere Grafik-Kopien von vorherigen Versuchen enthalten waren und da kam Excel ins Schleudern.

Ich habe den Code noch ein wenig geändert, sodass du in der Tabelle "Mitarbeiter" die Ausrichtung an der Zellenoberkante nun nicht mehr brauchst. Aber du kannst das Makro grafiken_ausrichten ja verwenden, wenn du es ein wenig ordentlicher haben möchtest ;).

Bis später,
Karin

PS: die beim Öffnen der Arbeitsmappe erscheinende Inputbox erzeugt einen Fehler, aber ich nehme an, das hängt damit zusammen, dass die Beispielmappe nur einen Teil der benötigten Informationen enthält.

optimfish
21.07.2006, 20:30
Hallo Karin

Jetzt begreife ich langsam "die Kiste". Bin immer wieder erstaunt, wieviel man auf diese Art von euch lernen kann. Ausserdem hatte ich Freude, dass ich die Codes am richtigen Ort eingefügt habe. Mal schauen, ob ich jetzt das Gelernte auf die Originaldatei ummodeln kann. Aber ich glaub nachher ist diese Datei sehr gut brauchbar. User "RJ" meinte zwar das sei datentechnisch schlecht, es sei ein Fall für Access. Vielleicht hat er ja Recht, aber in diesem spezifischen Fall habe ich mit deiner Hilfe der Chefin eine grosse Fehlerquelle abgeschafft, viel Zeit gewonnen, lustige Grafiken hinzugefügt (lockert die Stimmung auf) und das alles mit einem relativ minimalen Aufwand.

Eine kleine Frage hätte ich aber noch. Wenn ich jetzt den Bereich "Anzahl Personen" auch bei den Mitarbeitern integrieren möchte, dass ich den Text auch von dort ändern könnte, was müsste man am Code ändern? Das wäre noch gut wenn ich das wüsste. So kann ich besser nachvollziehen, wie der Code "funktioniert". Wenns aufwändig ist, lassen wir das sein, du hast jetzt schon genug damit deine zeit verplämpert.

Nochmals tausend Dank und ich schick dir einen Kübel voll Gletschereis aus den Bergen (solange es noch hat :( ) zum abkühlen. Oder hats bei euch einen See?

Ciao

Beverly
21.07.2006, 20:55
Hi Franz,

jetzt, zu vorgeschrittener Stunde, muss ich erst einmal sagen: sag deinem "RJ" (wer auch immer das sein mag) einen schönen Gruß - wenn er was zu meckern hat, dann soll er es doch das nächste Mal selber machen! ;). Und, um ehrlich zu sein, wüsste ich da nicht, weshalb Access da besser sein sollte (habe auch ein klein wenig Ahnung davon ;)).

Eines verstehe ich jetzt aber nicht: was meinst du mit
Wenn ich jetzt den Bereich "Anzahl Personen" auch bei den Mitarbeitern integrieren möchte, dass ich den Text auch von dort ändern könnte, was müsste man am Code ändern?
Bis später,
Karin

PS: gegen den (oder die) Kübel Gletschereis habe ich ganz und gar nichts. Ein See/Teich ist zwar in der Nähe, aber aufgrund der Trockenheit doch schon ein wenig zusammengschrumpft. Und was die Höhenlage betrifft, sind wir im Erzgebirge von euren Maßstäben doch ein Großes Stück entfernt ;).

optimfish
21.07.2006, 21:46
Hallo Karin

Ja, ich weiss, habe fast damit gerechnet. Es ist einfach aber nicht einfach zum erklären :grins:

Im Sheet "2006" sind doch alle Namen übereinander in einem Rechteck. Und zuunterst auf der Wochentabelle, unter dem letzten Namen steht: "Anzahl Personen à 1 Stunde" Angenommen ich möchte diesen Text mal ändern wäre es natürlich gut, wenn ich das genau gleich handhaben könnte wie die Mitarbeiter. Also, es hat Platz für 12 Mitarbeiter, das 13. Rechteck wäre dann wie der 13. Mitarbeiter. Nur steht dor anstatt Mitarbeiter die Überschrift für die Zusammengezählten Stunden.

Mich nimmt vorallem Wunder, was am Code geändert würde. Eben, vorallem aus Gründen des Lernens, wäre es gut, wenn du mir sagen könntest, was man am Code ändern müsste. Aber wie gesagt, nur wenn es eine kleine Sache ist, sonst kannst du es ruhig sein lassen.

Das Eis gehe ich am Sonntag holen, da mache ich eine Wanderung auf 2500m. :mrcool: Wenn du auf meine HP gehst, kannst du dich jetzt schon aufs Eis freuen, unter aktuell findest du Fotos wo ich durch den ewigen Schnee gestapft bin :)

Beverly
23.07.2006, 12:54
Hi Franz,

mit dem anzuzeigenden Text kannst du das doch genau so machen, wie mit den Namen - Bezug auf die "Mitarbeiter"-Tabelle.

Da ich ja sowieso warten muss, bis du mir das Eis bringst :tausch: , habe ich mich mal daran gemacht, deine Arbeitsmappe ein wenig umzugestalten :) , da sie mir für den täglichen Gebrauch ein wenig unhandlich schien ;). Für jede KW gibt es jetzt eine extra Tabelle. Wenn du eine neue Tabelle erstellen willst, brauchst du nur eine kopieren und ans Ende stellen. Die Kalenderwoche brauchst du nicht mehr von Hand in A1 eintragen, das besorgt jetzt eine Formel. Sie bezieht sich jeweils auf A1 der vorhergehenden Tabelle und passt sich damit dynamisch an. Wenn du also eine Tabelle kopierst und ans Ende stellst, steht dann sofort die nächstfolgende KW drin. Du darfst nur keine Tabelle zwischendrin löschen, weil dann deine eingetragenen Stunden nicht mehr in der richtigen KW stehen.

Ich hab den Code auch mit ein paar Kommentaren versehen, sodass du besser nachvollziehen kannst, was da abläuft.

Ich hoffe, du schmeißt mir die Arbeitsmappe jetzt nicht um Ohren, weil ich sie ganz schön umgekrempelt habe :p . Oder - was noch schlimmer wäre - du versagst mir den Kübel Gletschereis :weinen: .

Bis später,
Karin

PS: wenn du mir noch verrätst, wie ich auf deine HP komme, dann schau ich mir die Fotos gerne mal an. Schon allein der Gedanke an das viele Eis/Schnee um diese Jahreszeit... :sun:

optimfish
23.07.2006, 13:47
Hallo Karin

Also, weisst du was? Jetzt hast du die Mappe gestaltet, wie ich es anfangs auch im Kopf hatte! :grins: Aber, jetzt kommen meine Überlegungen: Was mache ich, wenn ich bestimmte Wochen ausdrucken möchte? bis jetzt konnte ich die Wochen bequem übers Druckmenue anwählen, weil ich das ganze so formatiert habe, dass jede Woche einem A4 Blatt entspricht. Und ..stellt denn Excel 53 Sheets zur Verfügung? Also für mich waren das die einzigen Fragen, warum ich mich für die letzte Version entschieden habe. Ansonsten gefällt mir aber die neue Version super gut! Alles andere spricht dafür. Vielleicht müsste man das Drucken mit einem Makro erledigen. Aber im Wohnheim, wo die Chefin druckt, haben sie eine Excel 2000 Server-Version. Da funktionierte das Makro zum Anwählen der Wochen gar nicht, auch wenn der Administrator für die Datei die Sicherheitseinstellungen geändert hat.

Aber ich werde die Sache wieder mal anschauen. Und es ist da noch ein anderes Problem zum Vorschein gekommen. Meine Chefin markiert jeweils alle Zellen zum Beispiel für die Ferien, oder Freitage. Da sind dann jeweils ganze Blöcke oder Zeilen voll grün oder was auch immer markiert. Das braucht viel Tinte. Ich habe schon an Muster gedacht, aber das ist kompliziert zum "anwählen". (Aufwändig) Vielleicht hast du da auch eine Idee, wie man da etwas besser machen könnte. Vielleicht eine blasse Farbe oder Farbiges Muster mit vielen weissen Flecken, war eine Idee. Aber die vorhandenen Muster haben alle schwarze "Flecken" oder "Punkte".

So, und nun zu dir ;)

Soeben war ich auf der "Erzgebirge" Homepage. Die haben aber nicht so schöne Fotos drauf. Kennst du eine Page mit schönen Fotos von da, wo du wohnst? Wie heisst die nächste Stadt?

Meine Homepage findest du im Anhang :rolleyes: (gibt es hier im Forum keine persönlichen Angaben der Nutzer zum entdecken?? Aber Karin :rolleyes: Wenn das mein Lehrer Jinx erfährt :mad:

Also bequeme Mädchen nehmen den direkten Link da :grins: http://www.wanderschweiz.com Und bei "Aktuell" findest du meine letzte Wanderung.

Betreffend Eis, habe ich meinen Logistiker angefragt, er meint es sei einfacher dich zum Gletschereis zu bringen, als umgekehrt :grins: Also, jetzt weisst du bestimmt, was das heisst ;)

Ganz herzlichen Dank für deine Hilfe und eine tolle Zeit, wünsche ich dir

Beverly
23.07.2006, 21:05
Hi Franz,

wir werden zusammen schon was hinbekommen, damit deine Chefin mit dir zufrieden ist ;).

Also mal der Reihe nach:
- in einer Arbeitsmappe können 255 Blätter enthalten sein wenn du eine neue Arbeitsmappe erstellst, ansonsten ist es vom verfügbaren Speicher abhängig.

- zum Drucken kannst du ganz einfach den auszudruckenden Bereich markieren, dann Datei -> Druckbereich -> festlegen. Anschließend Datei -> Seite einrichten -> Papierformat -> Skalierung -> Anpassen.

- was die Farbe beim Drucken betrifft: könnte man da nicht mit farbigen Rahmen etwas machen anstatt von Flächen? Das könnte man doch in der Symbolleiste einstellen, sodass man einfachen Zugriff darauf hat. Aber auch das Muster lässt sich in die Symbolleiste bringen.

Deine HP habe ich nun mittlerweile auch gefunden - wunderschöne Bilder! Da muss ich wohl doch deinem Logistiker folgen und selber mein Gletschereis holen ;).

optimfish
23.07.2006, 23:57
Hallo Karin

Vielen Dank für deine Antwort! Bin mit allem was du geschrieben hast einverstanden. Ausser beim Drucken ;) Stell dir also vor, ich möchte alle vier Wochen vom September drucken und vielleicht noch die erste vom Oktober. Jede Woche ist ja auf einem Blatt. Kann ich dann einfach alle Blätter mit ctrl markieren und drucken? Ich werde es mal versuchen. Oder gibt es für einen solchen Fall noch eine andere Möglichkeit?

Und was meine Chefin angeht, die ist jetzt schon 200% zufrieden. Für die ist das ganze ein halbes Wunder :D

Und die Idee mit den Rahmen ist ja super. Dass ich nicht selber auf die Idee kam? So liesse sich viel Tinte sparen. Zum Glück habe ich solch tolle Internet-Freundinnen und Freunde wie du! Ich werde das mal ausprobieren und der Chefin vorschlagen.

Und nochmal Eis: Als Geologin weisst du bestimmt dass die Alpengletscher rapide schmelzen, also mach dich eher heute als morgen auf den Weg. ;)

Tschüss

optimfish
26.07.2006, 19:02
Hallo Karin

Angriffe an allen Fronten! :grins:

Bei mir funktioniert das Löschen der Grafiken immer noch nicht. Ich habe die Datei etwas den Wünschen der Chefin angepasst, jetzt wird die Grafik aber an einem schlechten Ort angezeigt. Sie sollte in der Zellenmitte (musste ich verkleinern, Breite weniger) und eine Zeile Abstand vom Namen. Kann man nicht einfach den Befehl "zentrieren" benutzen? Für mich ist jetzt interessant, was man am Code ändern muss, damit diese Wünsche erfüllt werden. Ich hab ein paar Sachen versucht, aber es klappte nicht.

Wenn du einmal nicht weisst was zu tun, kannst du da herumtüfteln. Aber Priorität ganz hinten, gell! Denn... wegen den Druckkosten wird die Chefin wahrscheinlich auf die Grafiken verzichten. Das ist nur für mich zum Lernen!! ;) Für das Füllen der Zellen, werde ich einen neuen Thread eröffnen, denn das mit den Rahmen ist nicht so praktikabel und es gefällt der Chefin nicht.

Also, hier geht es nur noch ums Lernen, gell!