Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bild in der aktive Zelle selectieren

Forumthread: Bild in der aktive Zelle selectieren

Bild in der aktive Zelle selectieren
16.09.2013 11:45:08
Stefan
Hallo,
wer kann mir kurz mal helfen...
Habe folgenden Code, für ein ausgewähltes Bild (Macrorecorder)
ActiveSheet.Shapes.Range(Array("Image1")).Select
Wie muß ich den Code ändern, wenn ich das Bild in der aktiven Zelle selectieren möchte ?
Hat jemand ne Idee?
Gruß
Stefan

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild in der aktive Zelle selectieren
16.09.2013 12:25:36
Hajo_Zi
Hallo Stefan,
Select, Activate usw. ist in VBA zu 99,9% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
Hinweise zu select usw. Hajo-Excel.de
Hinweise zu select usw. Online-Excel.de
Ich würde es anders lösen, gebe jedem Bild den Namen der Zelle.

Anzeige
AW: Bild in der aktive Zelle selectieren
16.09.2013 12:38:33
Stefan
Hallo Hajo,
danke für die rasche Antwort.
An Namen vergeben hab ich auch schon gedacht. Problem ist, dass ich ca.5000 Bilder
in der Tabelle habe.
Jedoch lediglich 8 verschiedene Bilder, für die ich bereits Namen habe.(Bild1,Bild2 usw.)
D.h. ich hätte dann versucht bei Zelländerung dem aktiven Bild den neuen Namen zuzuordnen.
Selection.Formula = "=Bild2"
Um was geht es: In einer Liste werden über ein DropDown Menü Zahlen von 1-8 vergeben hinter der
dann ein Spezielles Bild stehen soll.
Kann man das Bild der activen Zelle denn nicht selektieren?
Gruß
Stefan

Anzeige
AW: Bild in der aktive Zelle selectieren
16.09.2013 12:46:44
Hajo_Zi
Hallo Stefan,
ich habe nicht gelesen warum select. Meinen Beitrag hast Du also nicht gelesen.
Meinst Du so was
http://hajo-excel.de/chCounter3/getfile.php?id=185
Gruß Hajo

Anzeige
AW: Bild in der aktive Zelle selectieren
16.09.2013 13:00:25
Stefan
Hallo Hajo,
die Datei kenn ich. Kenn auch so was ähnliches mit Erni und Bert.
Unterschied zu meinem XLS ist, dass hier nur eine einzige Dropdown ist, welche eines von vielen Bildern auswählen kann. Ich habs genau anders rum. Ich habe sehr viele Dropdown`s mit nur 8 Bildern,
für die ich bereits 8 Namen vergeben habe.
Ich hätte der selectierten dropdow (auf der auch das Bild liegt) dann bei einer Änderung
einfach einen neuen Namen vergeben, dazu fehlt mir lediglich, wie ich das Bild ansprechen kann,
so dass ich den Namen austauschen kann.
Gruß
Stefan

Anzeige
Wie sollen denn deinen 5000 Bilder heissen. (owt)
16.09.2013 13:49:59
EtoPHG

AW: Wie sollen denn deinen 5000 Bilder heissen. (owt)
16.09.2013 14:55:55
Stefan
Hallo,
hab mal ne Beispieldatei hochgeladen....(abgespeckte Version)
https://www.herber.de/bbs/user/87316.xlsm
Es soll wenn in z.B. Spalte K was eingetragen wird (Zahl 1-8) das entsprechende Bild geladen werden.
Wollte es am Anfang über Namen machen, da es jedoch sehr sehr viele sind ist das nicht machbar.
Ich hab mir überlegt, wenn das Image welches in der Zelle liegt selektiert würde, dann könnte
ich dann den Namen und somit das Bild verändern...
Gruß
Stefan

Anzeige
AW: Bild in der aktive Zelle selectieren
16.09.2013 15:10:24
Rudi
Hallo,
als Ansatz:
Sub aaa()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If TypeName(shp.DrawingObject) = "Picture" Then
If shp.TopLeftCell.Address = Selection(1).Address Then
MsgBox shp.Name
End If
End If
Next
End Sub

Gruß
Rudi

Anzeige
AW: Bild in der aktive Zelle selectieren
16.09.2013 19:20:30
stef26
Hallo Rudi,
Danke!
Mit deinem Ansatz hab ich es geschafft
Vielen dank
:-) :-) :-) :-) :-) :-) :-) :-) :-) :-)
Stefan
;
Anzeige
Anzeige

Infobox / Tutorial

Bild in der aktiven Zelle selectieren


Schritt-für-Schritt-Anleitung

Um ein Bild in der aktiven Zelle zu selectieren, kannst du den folgenden VBA-Code verwenden. Dieser Code durchläuft alle Shapes auf dem aktiven Blatt und prüft, ob das Bild sich in der aktiven Zelle befindet.

Sub BildInAktiverZelleSelectieren()
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        If TypeName(shp.DrawingObject) = "Picture" Then
            If shp.TopLeftCell.Address = Selection(1).Address Then
                shp.Select
                Exit Sub
            End If
        End If
    Next shp
    MsgBox "Kein Bild in der aktiven Zelle gefunden."
End Sub

Führe diesen Code in einem Modul aus, während du die Zelle auswählst, in der das Bild liegen sollte. Das Bild wird dann selectiert.


Häufige Fehler und Lösungen

Fehler: Das Bild wird nicht selectiert, obwohl es in der Zelle liegt.
Lösung: Stelle sicher, dass das Bild tatsächlich in der Zelle ist und die Zellenadresse korrekt ist. Der Code prüft, ob das Bild sich in der Zelle befindet, die du gerade ausgewählt hast.

Fehler: "Kein Bild in der aktiven Zelle gefunden."
Lösung: Überprüfe, ob das Bild ordnungsgemäß eingefügt wurde und tatsächlich in der aktiven Zelle positioniert ist.


Alternative Methoden

Falls du nicht mit VBA arbeiten möchtest, kannst du das Bild auch manuell selectieren. Klicke dazu einfach mit der Maus auf das Bild, welches sich in der gewünschten Zelle befindet. Dies ist jedoch nicht so effizient, wenn du viele Bilder hast.

Eine andere Methode könnte sein, jedem Bild einen Namen zu geben, der mit der Zelle verknüpft ist. So kannst du mit Formeln oder weiteren VBA-Skripten gezielt auf die Bilder zugreifen.


Praktische Beispiele

Angenommen, du hast mehrere Bilder in einer Liste und möchtest, dass beim ändern eines Dropdowns in Spalte K das entsprechende Bild angezeigt wird. Du könntest dafür folgendes Skript verwenden:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("K:K")) Is Nothing Then
        BildInAktiverZelleSelectieren
        ' Hier kannst du weiterführende Logik einsetzen,
        ' um das Bild zu ändern oder zu ersetzen.
    End If
End Sub

In diesem Beispiel wird das Bild in der aktiven Zelle selectiert, wenn eine Änderung in der Spalte K vorgenommen wird.


Tipps für Profis

  1. Verwende benannte Bereiche: Dies macht es einfacher, auf Bilder in verschiedenen Zellen zuzugreifen.
  2. VBA-Optimierung: Reduziere die Anzahl der Schleifen, indem du nur die relevanten Shapes verarbeitest.
  3. Fehlerbehandlung: Implementiere Fehlerbehandlungen im Code, um unerwartete Situationen elegant zu lösen.

FAQ: Häufige Fragen

1. Kann ich mehrere Bilder gleichzeitig selectieren?
Ja, du kannst den Code anpassen, um mehrere Bilder in einer bestimmten Zelle zu selectieren, indem du eine Liste von Bildnamen verwendest.

2. Welche Excel-Version benötige ich?
Der VBA-Code sollte in allen modernen Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2010 und neuer.

3. Wie kann ich das Bild automatisch ändern, wenn ich eine Zahl auswähle?
Du kannst ein Dropdown-Menü in Excel verwenden, das mit dem oben genannten VBA-Code verknüpft ist, um das entsprechende Bild basierend auf der Auswahl zu ändern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige