Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Bild in Excel Zelle, Abhängig von einem Wert

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Bild in Excel Zelle, Abhängig von einem Wert (2542 / mal gelesen)
Tammy89
Mitglied



Sehen Sie sich das Profil von Tammy89 an!   Senden Sie eine Private Message an Tammy89  Schreiben Sie einen Gästebucheintrag für Tammy89

Beiträge: 24
Registriert: 28.07.2016

Microsoft Office 2010
Windows 7

erstellt am: 28. Jul. 2016 16:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

seit zwei Tagen durchforste ich nun dieses Forum und bin nicht wirklich auf die Lösung gestoßen, die mir weiter helfen könnte.
Ich hab noch nicht so viel mit VBA gearbeitet und helfe mir momentan noch mit Tipps aus dem Ineternet.

Ich habe Problem, wo ich nicht weiter kommen:
Ich habe eine Tabelle, in der ich im Feld C6 einen Wert eingebe. Immer dann, wenn hier ein Wert drin steht, soll ein Bild in einer Zelle angezeigt werden. Ich möchste das Bild nicht mit Windows öffnen, sondern nur in Excel "einfügen"
Dateipfad ist immer der gleiche + der Wert aus Feld C6 als Dateiname

Wie kann ich sowas mit einem Makro lösen?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 28. Jul. 2016 17:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tammy89 10 Unities + Antwort hilfreich

Herzlich willkommen bei CAD.de


Wichtige Links für den problemlosen Einstieg:
sinnvoll fragen | CAD.de-Hilfe | Nettiquette | Forensuche | Funktionsweise des Filters | Syntax der CAD.de Suche


Bitte füll bei Gelegenheit Deine Systeminfo aus, die hilft uns, Dir zu helfen.


Schau Dir z.B. diesen und diesen thread an. Sind lang, sind alt, sind keine Kost 'für Zwischendurch', aber da steckt imho alles drin, was Du benötigst, wenn ich Deine Frage richtig verstanden habe.

Viel Erfolg! 

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tammy89
Mitglied



Sehen Sie sich das Profil von Tammy89 an!   Senden Sie eine Private Message an Tammy89  Schreiben Sie einen Gästebucheintrag für Tammy89

Beiträge: 24
Registriert: 28.07.2016

Microsoft Office 2010
Windows 7

erstellt am: 29. Jul. 2016 10:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo rumkelruebe,

vielen Dank für den Hinweis.
Leider habe ich die letzten Tage auch diese beiden Themen angeschaut, doch in dem einen habe ich vermutlich das elementare Problem, dass ich das Beispiel von Nepomuk nicht öffnen kann :-(

Vielleicht kann man ja jemand helfen, dieses Problem zu lösen :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 29. Jul. 2016 10:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tammy89 10 Unities + Antwort hilfreich

Moin,

dann hast Du womöglich die Anzeige bekannter Dateiendungen im WIN-Explorer ausgeschaltet? Ganz blöde default-Einstellung von Microsoft. Das gehört zu den ersten Dingen, die man umstellt   

Nepumuk hat am 21. Jun. 2007 18:55 eine *.zip.txt hochgeladen. Die habe ich soeben selber zum Test runtergeladen und kann sie problemlos entzippen, sobald ich sie umbenannt habe (das .txt am Ende löschen). Versuch es nicht beim Download umzustellen, das ging schon oft ins berühmte Beinkleid. Lieber so runterladen, wie es kommt und dann umbenennen.

In den anderen Beiträgen sind ja aber auch noch genug Ansätze vorhanden, die Du umsetzen kannst. Unter anderem hat Thomas Harmening ein paar Einträge weiter unten auf Basis der Nepumuk-Mappe etwas Modifiziertes hochgeladen...

Also: Ran!   

PS: Deine Anforderung

Zitat:
Ich habe eine Tabelle, in der ich im Feld C6 einen Wert eingebe. Immer dann, wenn hier ein Wert drin steht, soll ein Bild in einer Zelle angezeigt werden. Ich möchste das Bild nicht mit Windows öffnen, sondern nur in Excel "einfügen"
Dateipfad ist immer der gleiche + der Wert aus Feld C6 als Dateiname

entspricht imho auch ziemlich genau >> diesem << ich erwähnte bereits, dass die threads lang sind ;-)


------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tammy89
Mitglied



Sehen Sie sich das Profil von Tammy89 an!   Senden Sie eine Private Message an Tammy89  Schreiben Sie einen Gästebucheintrag für Tammy89

Beiträge: 24
Registriert: 28.07.2016

Microsoft Office 2010
Windows 7

erstellt am: 03. Aug. 2016 10:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo runkelruebe,

vielen Dank, für den Hinweis.

Funktioniert super.
Habe nur noch ein Problem :-(
Ich lasse das Bild anzeigen, wenn sich die Zelle C6 ändert. Wird die Zelle aber gelöscht, so bekomme ich einen Fehler, da es dann wohl keinen Pfad gibt (?)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strPfad7$
'Sobald C6 (Artikel) geändert wird
If Not Intersect(Target, Range("C6")) Is Nothing Then
  'Bildpfad setzen
  strPfad7 = "P:\...\00_Bilder\" & ActiveSheet.Range("C6").Value & ".jpg"
  'Zelle auswählen, in welches das Bild eingefügt werden soll
  ActiveSheet.Range("L8").Select
  'MsgBox strPath7
        'Bild einfügen
        ActiveSheet.Pictures.Insert (strPfad7)
        ActiveSheet.Pictures.Width = 200
        ActiveSheet.Pictures.Height = 200
End If
End Sub

Ich habe es auch schon mit einer zusätzlichen If-Schleife versucht, aber so funktioniert dann gar nichts mehr :-(

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strPfad7$
'Sobald C6 (Artikel) geändert wird
If Not Intersect(Target, Range("C6")) Is Nothing Then
  'Bildpfad setzen
  strPfad7 = "P:\...\00_Bilder\" & ActiveSheet.Range("C6").Value & ".jpg"
If Not IsEmpty(strPfad7) Then
  'Zelle auswählen, in welches das Bild eingefügt werden soll
  ActiveSheet.Range("L8").Select
  'MsgBox strPath7
        'Bild einfügen
        ActiveSheet.Pictures.Insert (strPfad7)
        ActiveSheet.Pictures.Width = 200
        ActiveSheet.Pictures.Height = 200
End If
End If
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 03. Aug. 2016 11:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tammy89 10 Unities + Antwort hilfreich

Moin,

ich hab mal einfach ein paar Dinge in Deinen Code kommentiert, ich hoffe, sie helfen Dir weiter.

Ich würde z.B. die bereits eingefügten Bilder vor erneuter Codeausführung löschen, sonst hast Du irgendwann siebenunddrölfzig Bilder übereinander... Da ich nicht weiß, wieviele Bilder Du hast, gehe ich mal vom einfachsten Fall aus: NUR das eine Bild, was Du selber eingefügt hast. Die Radikalkur (ActiveSheet.DrawingObjects.Delete ) schmeißt u.U. zuviel raus, aber das mußt DU jetzt prüfen, wie es Dir am besten in den Kram paßt.

Den kleine-Hände-Error-Handler (resume next) würde ich rein nehmen, wir wollen es ja nicht unnötig verkomplizieren. An Falscheingaben hast Du in Deinem Szenario nämlich noch gar nicht gedacht    Daher wurde in dem anderen thread eine Gültigkeitsprüfung mit Listen-Quelle empfohlen, die kann sowas ganz ohne VBA abfangen.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strPfad7$
On Error Resume Next 'UNSAUBER! aber für kleine Hände tut's ;-) Ansonsten knallt es womöglich schon in der nächsten Zeile
'Bild vor neuer Ausführung löschen:
ActiveSheet.Shapes(1).Delete  '>> Index prüfen, falls Du mehr als dieses eine Bild in Deiner Tabelle hast


'Sobald C6 (Artikel) geändert wird
If Not Intersect(Target, Range("C6")) Is Nothing Then

'ENTWEDER wenn C6 leer ist, Prozedur verlassen
'If Range("C6").Value = "" Then Exit Sub

'ODER
    'wenn C6 leer ist, dummy-Pfad befüllen, damit ein Bild mit Hinweis "Bildnamen in C6 angeben!" eingefügt wird
    If Range("C6").Value = "" Then
        strPfad7 = "P:\...\00_Bilder\DUMMY.jpg"
    Else
         strPfad7 = "P:\...\00_Bilder\" & ActiveSheet.Range("C6").Value & ".jpg"
    End If
   

  'Zelle auswählen, in welches das Bild eingefügt werden soll
  ActiveSheet.Range("L8").Select
  'MsgBox strPath7
        'Bild einfügen
        ActiveSheet.Pictures.Insert (strPfad7)
        ActiveSheet.Pictures.Width = 200
        ActiveSheet.Pictures.Height = 200
    End If

End Sub



HTH   

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tammy89
Mitglied



Sehen Sie sich das Profil von Tammy89 an!   Senden Sie eine Private Message an Tammy89  Schreiben Sie einen Gästebucheintrag für Tammy89

Beiträge: 24
Registriert: 28.07.2016

Microsoft Office 2010
Windows 7

erstellt am: 03. Aug. 2016 12:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Supiiii :-)
Funktioniert, viiielen Dank!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz