WinFuture-Forum.de: Excel 2003 Makro - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Office
Seite 1 von 1

Excel 2003 Makro Text durch Bild ersetzen


#1 Mitglied ist offline   Knalltuete 

  • Gruppe: aktive Mitglieder
  • Beiträge: 227
  • Beigetreten: 24. Januar 06
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 13. Dezember 2007 - 15:35

Hallo!
Da ich mich mit VBA kaum auskenne und schnell eine Lösung brauche, dachte ich mir dass ich einfach mal euch frage! Und zwar brauche ich ein Makro, welches je nach Textstring ein anderes Bild einfügt. Gibt es auch eine Möglichkeit 3 Texte in einem Feld durch je ein Bild zu ersetzen? zB. Habe ich das Feld F2 in dem steht "RG2 GB1 WC0" und das Makro soll jetzt die Strings durch Bilder ersetzen. Am besten wäre es die Bilder ausm Netz einzubinden, aber wenn es nicht anders möglich ist, dann geht es auch von der Festplatte.

Vielen herzlichen Dank!!!

Tuete

edit: Ich habe bei Google ein Script gefunden, welches vielleicht hilfreich ist.. jedoch funktioniert es bei mir nicht richtig, er bringt immer den else-Zweig.. Vielleicht kann man das ja als Grundlage nehmen..

Range("C8").Select
selection.Delete
if cells(1,1).value=1 then
  ActiveSheet.Pictures.Insert( "c:\abc\bild1.jpg").Select
else
  ActiveSheet.Pictures.Insert( "c:\abc\bild2.jpg").Select
end if

Dieser Beitrag wurde von Knalltuete bearbeitet: 13. Dezember 2007 - 15:59

(>¬_¬)>@ Keks?

Eingefügtes Bild
0

Anzeige



#2 Mitglied ist offline   sn00b 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.232
  • Beigetreten: 07. November 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 13. Dezember 2007 - 16:08

Private Sub Worksheet_Change(ByVal Target As Range)
Dim bild1 As String, verz As String
verz = ActiveWorkbook.Path
bild1 = verz & "\bilderverzeichnis\" & Range("F2") & ".jpg"
Image1.Picture = LoadPicture(bild1)
End Sub


so sollte es in VBA ausschauen damit das was in zelle F2 steht als bild in einem steuerelement dargestellt wird.
- zuerst must du halt ein steuerelement einfügen dazu folgendes:
* ansicht -> symbolleisten -> steuerelement-toolbox
* nun aus diesem werkzeugkasten 'bild' wählen und den rahmen für das bild ziehen
* in den eigenschaften des bildes nun noch einen eindeutigen namen vergeben! bei mir Image1

- nun kannst du durch drücken von ALT+F11 zu VBA wechseln
* obigen code mit eventuellen anpassungen einfügen


da ich bei dieser methode mit ActiveWorkbook.Path (pfad wo die *.xls gestartet wurde) arbeite muß das bilderverzeichnis immer im selben ordner wie die *.xls sein!

warum möchtest du aus einer zelle drei werte auslesen? kann man dies nicht in drei einzelne zellen schreiben? es geht zwar theoretisch beides aber über einzelne zellen wäre es einfachere.

ich hoffe das hilft dir erstmal.
0

#3 Mitglied ist offline   Knalltuete 

  • Gruppe: aktive Mitglieder
  • Beiträge: 227
  • Beigetreten: 24. Januar 06
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 13. Dezember 2007 - 16:16

Danke für die schnelle Antwort, jedoch hilft mir das leider nicht weiter.. Hab vergessen hinzuzuschreiben, dass die Ausgangsdatei eine *.csv ist. Da man ja in *.csv keine Bilder beim speichern kann, soll das Makro bestimmte Werte mit einem Bild ersetzen. Im Idealfall steht halt in einem Feld "RG2" ohne " und wird beim ausführen des Makros durch ein Bild ersetzt. Wenn es mit 3 Spalten leichter ist, dann würde ich mich natürlich über eine 3 Spaltenlösung freuen :smokin:
(>¬_¬)>@ Keks?

Eingefügtes Bild
0

#4 Mitglied ist offline   Knalltuete 

  • Gruppe: aktive Mitglieder
  • Beiträge: 227
  • Beigetreten: 24. Januar 06
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 13. Dezember 2007 - 16:59

Range("C8").Select
selection.Delete
if cells(1,1).value=1 then
  ActiveSheet.Pictures.Insert( "c:\abc\bild1.jpg").Select
else
  ActiveSheet.Pictures.Insert( "c:\abc\bild2.jpg").Select
end if


funktioniert doch.. das problem war das cells(1,1) nicht gestimmt hat stimmt!
wie kann ich denn das makro in einer schleife ablaufen lassen? es soll einmal die komplette spalte durchlaufen und dabei soll sich die zeilenzahl in cells immer um 1 erhoehen..
(>¬_¬)>@ Keks?

Eingefügtes Bild
0

#5 Mitglied ist offline   sn00b 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.232
  • Beigetreten: 07. November 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 13. Dezember 2007 - 17:02

schaumal hier rein vielleicht hilft das ja, der letzte post.
0

#6 Mitglied ist offline   Knalltuete 

  • Gruppe: aktive Mitglieder
  • Beiträge: 227
  • Beigetreten: 24. Januar 06
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 13. Dezember 2007 - 17:09

was der da macht verstehe ich nicht.. reicht nicht einfach eine for schleife?
hab leider nur wenig von makros schreiben :smokin:
(>¬_¬)>@ Keks?

Eingefügtes Bild
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0