Collapse column

Autor Thema: Kommentare mit Hintergrund übernehmen VBA  (Gelesen 4877 mal)

Offline Niedabaya

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Kommentare mit Hintergrund übernehmen VBA
« 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

« Letzte Änderung: November 19, 2012, 17:01:01 Nachmittag von Niedabaya »

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Niedabaya

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #1 am: November 22, 2012, 07:35:35 Vormittag »
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

Offline Beverly

  • Full Member
  • ***
  • Beiträge: 129
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #2 am: November 22, 2012, 10:03:15 Vormittag »
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


Offline Niedabaya

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #3 am: November 22, 2012, 11:05:04 Vormittag »
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

Offline Beverly

  • Full Member
  • ***
  • Beiträge: 129
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #4 am: November 22, 2012, 15:32:17 Nachmittag »
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

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Niedabaya

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #5 am: November 22, 2012, 16:23:48 Nachmittag »
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

Offline Beverly

  • Full Member
  • ***
  • Beiträge: 129
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #6 am: November 22, 2012, 17:12:31 Nachmittag »
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

Offline Niedabaya

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #7 am: November 23, 2012, 07:17:59 Vormittag »
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

Offline Beverly

  • Full Member
  • ***
  • Beiträge: 129
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #8 am: November 23, 2012, 08:27:43 Vormittag »
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

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Niedabaya

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #9 am: November 23, 2012, 09:13:45 Vormittag »
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

Offline Beverly

  • Full Member
  • ***
  • Beiträge: 129
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #10 am: November 23, 2012, 10:58:54 Vormittag »
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

Offline Niedabaya

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #11 am: November 23, 2012, 11:26:58 Vormittag »
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

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Beverly

  • Full Member
  • ***
  • Beiträge: 129
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #12 am: November 23, 2012, 12:52:22 Nachmittag »
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

Offline Niedabaya

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Antw: Kommentare mit Hintergrund übernehmen VBA
« Antwort #13 am: November 26, 2012, 07:06:52 Vormittag »
Hallo Karin,

  jetzt funktionierts einwandfrei.

Herzlichen Dank für deine Hilfe, du hast mir echt einiges an Arbeit erspart.

Schöne Grüße,

Fabian

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.