Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: Niedabaya am November 19, 2012, 16:58:35 Nachmittag
-
Hallo Leute,
ich hab folgende Situtation. In einer Excel-Datei stehen in einem Tabellenblatt verschiedene Teile mit entsprechendem Foto, hab mal als Beispiel Barcodes genommen. In einem zweiten Tabellenblatt werden diese Teile, bzw. deren Namen, aufgeführt und dann soll automatisch das Foto erscheinen. Hab jetzt schon einiges recherchiert und hab auch schon ne Lösung wie ich die Kommentare übernehmen kann, aber ich krieg nicht raus, wie ich nicht nur den Text sondern auch die Formatierung übernehmen kann. Hab auch mal die Datei im Anhang. Ist natürlich nur eine Beispieldatei, nachher hab ich da um die 100 Artikel drin und dazu dann entsprechende Abfragen.
Hat da jemand eine Idee und kann mir weiterhelfen?
Danke schonmal,
Schöne Grüße,
Fabian
-
Guten Morgen zusammen,
leider hab ich bisher noch keine Antwort erhalten. Heißt das, dass es nicht möglich ist? Wäre echt super wenn sich jemand kurz für mein Problem Zeit nehmen kann. Ich bräuchte das für meine Diplomarbeit und ich find niemand der mir dabei helfen kann.
Danke,
VG,
Fabian
-
Hi Fabian,
um eine Grafik in einen Kommentar einfügen zu können, müsste diese auf der Festplatte abgelegt sein. Also müsste man die Grafik erst per VBA auf die Festplatte kopieren und anschließend in den Kommentar einfügen - das ist kompliziert und beeinträchtigt außerdem die Performance der Arbeitsmappe. Weshalb legst du die Grafiken nicht einfach in Spalte B ab anstelle sie in den Kommentar einfügen zu wollen? Außerdem überdeckt die Grafik ja auch den Text des Kommentars.
Bis später,
Karin
-
Hallo Karin,
der Text war nur für das Beispiel drin, damit ich sehe, ob er mir den richtigen Kommtar an die richtige Stelle setzt. Und das macht er ja. Mir wäre das Bild in der Spalte B definitiv lieber, ich hab aber keine Ahnung wie ich das dann beim Sortieren und beim Verweis auf das zweite Tabellenblatt mitnehmen kann.
Gibts da eine Lösung? Wie bringe ich die Bilder in Spalte B?
Die Bilder liegen bereits auf der Festplatte, da ich sie ja vorher schon manuell in den Kommentar eingefügt habe. Ich dachte mir halt, dass die Übernahme als Hintergrund im Kommentar nicht so tragisch wäre.
Ist also die Idee mit den Kommentaren nicht sonderlich hilfreich?
Danke,
VG
Fabian
-
Hi Fabian,
man kann eine ins Tabellenblatt eingefügte Grafik so formatieren, dass sie auch beim Sortiern "mitgenommen" wird - dazu Rechtsklick auf die Grafik -> Grafik formatieren -> Eigenschaften -> Von Zellposition und -größe abhängig. Was du mit "beim Verweis auf das zweite Tabellenblatt mitnehmen" meinst, verstehe ich leider nicht.
Bis später,
Karin
-
Hallo Karin,
irgendwie fnktioniert das bei mir nicht.
Ich mein damit, dass ich eine Liste in Tabelle 2 (Reiter unten) hab, die den Namen Bildern zuweist, und in Tabelle 1 frage ich diese Namen ab und hätte gerne die Bilder dann zu den entsprechenden Namen daneben. In Tabelle 1 sind im Beispiel die Kommentare da wo die Bilder sein sollten. In Tabelle 2 sind die Bilder den Namen zugeordnet und auch die Kommentare schon so wie ichs mir vorgestellt habe. Ich brauche jetzt nur noch irgendeine Formel oder ähnliches, dass mir diese Bilder dann aus Tabelle 2 in Tabelle 1 zu den entsprechenden Namen bringt.
Danke,
VG
Fabian
-
Hi Fabian,
WAS funktionert nicht?
Ich kann nicht erkennen, wo du in Tabelle1 die Namen der Bilder "abfragst" - oder meinst du, dass du in Spalte A etwas einträgst, wonach dann in Tabelle2 gesucht und das betreffende Bild aus Spalte F eingefügt werden soll? Sollen die Bilder mehrfach vorkommen dürfen in Tabelle1? Wozu benötigst du in Tabelle2 einen Autofilter, wenn sie nur die Basis für Tabelle1 sein und alles in Tabelle1 vonstatten gehen soll? Du musst das schon mal genauer und für einen Außenstehenden nachvollziehbar erklären.
Bis später,
Karin
-
Hallo Karin,
tut mir leid, dass ich nicht richtig erklärt hab um was es geht. Ich versuchs nochmal.
In der Exceldatei habe ich zwei Tabellenblätter. Tabelle 1 und Tabelle 2. In Tabelle 2 habe ich qausi eine Lagerliste mit Bildern zu den einzelnen Objekten. Diese Tabelle dient rein der Zuweisung der Bilder zu den einzelnen Datensätzen und dazu, dass ich nachschauen kann, welche Artikel vorhanden sind. Eine Aktualisierung ist nicht nötig. Den Autofilter hab ich hier nur zur besseren Übersichtlichkeit. In Tabelle 1 mache ich dann eine Liste zu verwendender Materialien, die dann mit dem entsprechenden Bild aus Tabelle 2 angezeigt werden soll. Hierfür hab ich schon den VBA-Code geschrieben und es funktioniert auch soweit, dass mir dieser Code den Kommentar übernimmt, aber nicht das Bild im Kommentar. Der Text im Kommentar entfällt noch, ist auch nur für mich, um zu kontrollieren, ob der Code mir die richtigen Kommentare übergeben hat.
Es hat die Lösung mit Grafik an die Zelle heften nicht funktioniert. Die Bilder werden beim Sortieren nicht mitgenommen. Dies ist aber erforderlich, um die Tabelle 2 korrekt zu halten.
Zusammengefasst soll mir der VBA-Code einfach den Hintergrund des Kommentars in Tabelle 2 in den entsprechenden Kommentar in Tabelle 1 übernehmen.
Ich hoffe ich hab einigermaßen rüberbringen können, was ich brauche.
Danke,
VG
Fabian
-
Hi Fabian,
du hast leider einige meiner Fragen nicht beantwortet, sondern nur das wiederholt, was du bereits in deinem Eröffnungsbeitrag geschrieben hast, sodass nach wie vor unklar ist, wie der Ablauf genau sein sein.
Die Grafiken werden deshalb beim Sortiern nicht mit mitgenommen, weil sie über die Zelle hinausragen - sie müssen finnerhalb des Zellrahmens positioniert sien
Bis später,
Karin
-
Hallo Karin,
man soll einfach vorm ersten Kaffee keine Forumseinträge machen. Tut mir leid. Zu deinen Fragen: Ich trage in Tabelle 1 in Spalte A nur die Namen ein und hätte dann gern das entsprechende Bild aus Tabelle 2 Spalte f, oder ersatzweise Spalte A kommentar, dort. Gerne auch nach Ausführung eines VBA-Codes. Die Bilder dürfen in Tabelle 1 sooft vorkommen, wie die Namen vorkommen. Den Autofilter hab ich nur für die Übersichtlichkeit, der kann auch raus.
Immerhin hab ich jetzt das mit den Bilder hingebracht.
Danke für deine Geduld und Hilfe,
VG
Fabian
-
Hi Fabian,
Sub GrafikenKopieren()
Dim shaShape As Shape
Dim lngLetzte As Long
Dim rngZelle As Range
Dim lngZeile As Long
Application.ScreenUpdating = False
If ActiveSheet.Shapes.Count > 1 Then
For Each shaShape In ActiveSheet.Shapes
If shaShape.OnAction = "" Then shaShape.Delete
Next shaShape
End If
For lngZeile = 2 To Columns(1).Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
With Worksheets("Tabelle2")
Set rngZelle = .Columns(1).Find(Cells(lngZeile, 1).Value, lookat:=xlWhole)
If Not rngZelle Is Nothing Then
For Each shaShape In .Shapes
If shaShape.TopLeftCell.Address = rngZelle.Offset(0, 5).Address Then
ActiveSheet.Rows(lngZeile).RowHeight = shaShape.Height
shaShape.Copy
ActiveSheet.Paste
With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
.Top = Cells(lngZeile, 1).Top
.Left = Cells(lngZeile, 2).Left
End With
End If
Next shaShape
Else
MsgBox "Kein Bild " & Cells(lngZeile, 1) & " vorhanden"
End If
End With
Next lngZeile
Application.ScreenUpdating = True
End Sub
Bis später,
Karin
-
Hallo Karin,
danke für den Code. Der hilft mir schon ein gutes Stüück weiter. Leider wirft der aber bei mir alle Fotos übereinander. Gibts da noch eine Möglichkeit ihm eine Zeile zuzuweisen, in der er die Fotos ablegen soll. Des wäre noch das i-Tüpfelchen.
Danke vielmals,
VG
Fabian
-
Hi Fabian,
ich nehme an, dass du wesentlich mehr Bilder in deiner Originalmappe als in dem hochgeladenen Beispiel hast? Dann ist Excel nicht in der Lage, in der Schnelle des Codeablaufs die Bilder korrekt zu positionieren. Eine letzte Möglichkeit wäre, wenn man zuerst die Zelle auswählt und dann das Bild einfügt - ändere diesen Codeteil:
If shaShape.TopLeftCell.Address = rngZelle.Offset(0, 5).Address Then
Cells(lngZeile, 2).Select
ActiveSheet.Rows(lngZeile).RowHeight = shaShape.Height
shaShape.Copy
ActiveSheet.Paste
End If
Bis später,Karin
-
Hallo Karin,
jetzt funktionierts einwandfrei.
Herzlichen Dank für deine Hilfe, du hast mir echt einiges an Arbeit erspart.
Schöne Grüße,
Fabian