Discussion:
Excel- Zellen in Userform abbilden
(zu alt für eine Antwort)
Hans Alborg
2014-03-26 18:04:22 UTC
Permalink
Hi Micha,

"Michael Schwimmer" schrieb...
obwohl es mir widerstrebt, Leichenfledderei zu betreiben, indem ich eine
tote Gruppe benutze...
'Da ist noch ein Sywoooker....örks'
hat mich das Thema dennoch so gereizt, dass ich ausnahmsweise mal auch
hier poste.
Naja, das Einbinden eines Zellbereichs als Grafik in eine Userform wie ich
es verlinkt hatte, ist nichts Neues.
Ich hatte das bereits vor 2...3 Jahren schon mal eingesetzt. Das mit dem
"Zugriff verweigert" (auf "C:") hab ich damals als Fast-Laie einfach mit
einer Mini- Partition "D:" umgangen.
Es funzt auch ohne den Umweg über eine Datei.
[Code]
Ok, für meine damalige Mappe ist das sehr interessant, muß mich da aber erst
wieder reinfinden.

Was mein jetziges Projekt angeht: außer dem Image und einem Button "Me.Hint"
wäre auf der Userform garnichts drauf.

Da finde ich meine Idee, nur die reine Grafik ins Blatt zu holen besser.
Momentan kann ich schon ganz bestimmte Ausschnitte vom anderen Blatt holen
lassen und an eine bestimmte Position setzen. Im Hauptblatt werden
spezifische Schaltungen zusammengestellt. Es gibt dazwischen hin und wieder
ne Art Boxen ohne Details. Bei Klick auf diese erscheint dann erwähnte
Grafik mit Einzelheiten dieses Segments.
Wenn du ein Image-Steuerelement mit Namen Image1 auf der Form hast, musst
du statt me das Objekt Image1 benutzen
Die Userform mit dem Image hab ich wieder entfernt. Sparen, sparen.

Hans

PS: Michael: nochmal danke für Deinen Mouseover- Code. Läuft prächtig bei
mir. Meine PN (in 2012) hat Dich wohl nicht erreicht...
Michael Schwimmer
2014-03-26 20:26:32 UTC
Permalink
Hallo Hans,
Post by Hans Alborg
hat mich das Thema dennoch so gereizt, dass ich ausnahmsweise mal auch
hier poste.
Naja, das Einbinden eines Zellbereichs als Grafik in eine Userform wie ich
es verlinkt hatte, ist nichts Neues.
Ich hatte das bereits vor 2...3 Jahren schon mal eingesetzt. Das mit dem
"Zugriff verweigert" (auf "C:") hab ich damals als Fast-Laie einfach mit
einer Mini- Partition "D:" umgangen.
gereizt hatte mich an der Sache auch nicht, einen Zellbereich als Grafik
darzustellen. Ich wollte lediglich zeigen, dass der Umweg über eine Datei
unnötig ist.

Ich hatte vor einigen Jahren mal ein kleines Programm geschrieben, um einen
Screenshot auszulösen und in einem Fenster darzustellen, das hatte ich hier
nur etwas abgeändert.
Post by Hans Alborg
Die Userform mit dem Image hab ich wieder entfernt. Sparen, sparen.
Beim aktuellen Zinssatz bringt das Sparen aber nicht viel ;-)

Aber im Ernst, du benötigst trotzdem noch Code, um bestimmte Ausschnitte
von einem anderen Blatt zu holen und an eine bestimmte Position zu setzen.

Mit Hilfe einer Modeless Userform könnte man sich beispielsweise aus einem
Listensteuerelement ausgewählte Bereiche als Vorschau auf der Userform
anzeigen lassen und dann auf Knopfdruck als Bildobjekt ins Blatt einfügen.
Post by Hans Alborg
PS: Michael: nochmal danke für Deinen Mouseover- Code. Läuft prächtig bei
mir. Meine PN (in 2012) hat Dich wohl nicht erreicht...
Nöö, hat mich nicht erreicht.

Ich bin 2011 umgezogen, meine Wohnung und auch meinen DSL-Vertrag inklusive
Mailadresse haben meine Tochter und mein Schwiegersohn nahtlos übernommen.
Da auch der Nachname gleich ist, landet dort immer noch an mich gerichtete
Post. Da liegt sicher noch einiges an Briefen in irgendwelchen Schubladen
rum.

Wenigstens habe ich jetzt endlich meine ursprüngliche Mailadresse wieder,
denn weitergeleitet wurde auch nicht alles.

Viele Grüße
Michael
Hans Alborg
2014-03-27 14:21:10 UTC
Permalink
"Michael Schwimmer" schrieb...
Ich wollte lediglich zeigen, dass der Umweg über eine Datei unnötig ist.
Aha. Und das ist sehr interessant für meine andere Mappe wo ich "Image in
die Userform" schon anwende.
Aber ich freu mich gerade an meinem aktuellen Vorhaben.
Aber im Ernst, du benötigst trotzdem noch Code, um bestimmte Ausschnitte
von einem anderen Blatt zu holen und an eine bestimmte Position zu setzen.

Das hatte ich im ersten Posting schon gezeigt.
Inzwischen hat sich gar nicht soviel geändert:

' ---------------------------------------------------------------------
Sub Zell_Area_zeigen(Zell_Lupen_Bereich As Range)
Dim shLu As Worksheet
Dim picBild As Picture
Set shLu = Sheets("Lupenteile")
Zell_Lupen_Bereich.CopyPicture Appearance:= _
xlScreen, Format:=xlPicture
Set picBild = ActiveSheet.Pictures.Paste
End Sub
' --------------------------------------------------------------------
das ist schon alles. Der Kern besteht nur aus 2 Zeilen, die aus dem
verlinkten Code übrig blieben.
Den "Zell_Lupen_Bereich" und die Position der Grafik lege ich vorher in
einer extra Subroutine fest (Klickereignis im Blatt,
ActiveCell.Row, -Column, davon einen Versatz und neue Zelle selektieren =
Position l.o. Ecke des Bildes).
Alles Grundbasic gottseidank.
Mit Hilfe einer Modeless Userform könnte man sich beispielsweise aus einem
Listensteuerelement ausgewählte Bereiche als Vorschau auf der Userform
anzeigen lassen und dann auf Knopfdruck als Bildobjekt ins Blatt einfügen.
Ja dann wäre mehr auf der Form als nur das Image. So ist es bei meiner
älteren Mappe. Aber hier klicke ich im Blatt direkt auf die Stelle die mich
interessiert.
Was ich noch testen will: die Positionierung durch select einer Zelle ist
ungenau. Mal sehen ob es sowas wie Offset gibt (wie bei Shapes).
PS: ...Mouseover- Code.
Nöö, hat mich nicht erreicht.
Es ging um verbundene Zellen. Mein Mouseover markiert die aktiven Zellen
kurz gelb, und bei verbundenen Zellen wird trotzdem nur eine des Verbunds
gefärbt.
Ist aber nicht wichtig, ist ja nur das Aussehen.

Hans
Hans Alborg
2014-03-27 19:18:33 UTC
Permalink
"Hans Alborg" schrieb...
Post by Hans Alborg
Was ich noch testen will: die Positionierung durch select einer Zelle ist
ungenau. Mal sehen ob es sowas wie Offset gibt (wie bei Shapes).
Schon passiert:

[ nach "Set picBild = ActiveSheet.Pictures.Paste":]
' -------------------------------------------------------
With ActiveSheet.Pictures
.Top = Cells(myZeile, mySpalte).Top + 1
.Left = Cells(myZeile, mySpalte).Left + 55
End With
' ------------------------------------------------------
Die "+1" bzw. "+55" sind feste Offset- Werte, können natürlich auch
Variablen sein.

Hans
Hans Alborg
2014-04-22 19:50:28 UTC
Permalink
Hi Micha,

"Michael Schwimmer" schrieb...
Ich wollte lediglich zeigen, dass der Umweg über eine Datei unnötig ist.
Ich hab Deinen Code endlich mal hier testen können. Er läuft super, bis auf
eine angemeckerte Zeile, weil mein VBA(-6?) mit "PtrSafe" noch nichts
anfangen kann.
Egal, hab ich einfach geREMt, solange ich kein höheres Office nutze.
Wichtig für mich ist ja, daß auch Shapes im Range- Bereich erfaßt werden.
Drum die Picture- Methode.

Da ich jetzt die vorher erwähnte ältere Mappe in die aktuelle integriert
habe, finden sogar beide Macharten statt (Picture in Userform, und zu
anderem Zweck Picture "nackt" aufs Blatt).

Ich freu mich schon drauf, wenn die richtige Userform mit Deinem Code läuft.
Da ist u.a. "Blättern" angesagt (schnelles Erstellen/ Anzeigen/ Löschen der
Bilder), und der Code wird fixer sein als der alte...

Hans

Díetmar Vollmeíer
2014-03-26 22:29:51 UTC
Permalink
Gute Nacht Michael!

*Michael Schwimmer* schrieb am 25.3.2014 um 22:44 Uhr...
Es wurde ein FollowUpTo nach de.comp.office-pakete.ms-office.excel gesetzt.
Für das Einrichten dieser Gruppe war schließlich ein harter Kampf notwendig
und der Traffic sollte dort auch gebündelt werden!
Der war jetzt aber gut.

Die Gruppen wurden hecktischerweise ziemlich schnell eingerichtet, weil
die Usenet-Priester ein schnelles Ende der microsoft-Hierarchie
prophezeit haben, nachdem M$ ihre Newsserver abgeschaltet haben.

Aber Totgesagte leben bekanntlich länger...

Von daher werden diese Gruppen noch auf allen mir bekannten Servern
geführt und somit gibt es auch keinen Grund diese zu ignorieren.

Also wieder zurück das Ganze.

X-Post in 2 Gruppen mit F'up2 <news:microsoft.public.de.excel>
--
Servus | Belgien: Wenn ein Autofahrer trotz Gegenverkehr wenden will
Didi | oder muss, hat er solange Vorfahrt, bis er die
| Geschwindigkeit verringert oder anhält.
Lesen Sie weiter auf narkive:
Loading...