Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Bilder tauschen

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:  Bilder tauschen (2303 mal gelesen)
Martin_0103
Mitglied



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

Beiträge: 181
Registriert: 05.02.2003

3,4 GHz - Quadro 4000 - 12 GB RAM - WIN7 - IV2010 SP3

erstellt am: 18. Mrz. 2004 10:52    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 Forum,
vor Wochen habe ich eine Exceltabelle gesehen, in welcher je nach Zellenwert eine Grafik getauscht wurde, d.h. ist der Wert größer NULL wurde eine grünes Bild gezeigt, war der Wert kleiner NULL ein rotes. Da ich keinerlei Ahnung von VBA habe, kontaktierte ich den Ersteller... er schickte mir folgenden Text:

Zitat:

a) Sie binden z.B. drei Grafiken auf einem Arbeitsblatt ein. Nennen wir sie mal smily01, smily02 und smily03

b) diese Grafiken legen Sie nun übereinander ( das sieht dann natürlich wild aus ... )

c) Sie fügen in das Arbeitsblatt den folgenden Code ein :

Private Sub Worksheet_Calculate()
    Call Smily_ein_aus
End Sub

d) dann erstellen Sie noch das folgende Makro in einem Modul

Sub Smily_ein_aus()
   
    Dim ws As Worksheet
    ' in diesem Beispiel soll C10 die Zelle sein, deren Wert abgefragt wird
    Dim C10 As Range
    Dim Sh As Shape

    Set ws = Sheets("MappeBeispiel")
    Set C10 = ws.[C10]
    For Each Sh In ws.Shapes
        If Sh.Name Like "Smily*" Then Sh.Visible = False
    Next
    ws.Shapes("Smily01").Visible = C10 > 0
    ws.Shapes("Smily03").Visible = C10 < 0
    ws.Shapes("Smily02").Visible = C10 = 0
    Set C10 = Nothing
    Set ws = Nothing
End Sub


Ich habe mehrere Versuche unternommen, dieses zu realisieren - OHNE ERFOLG. Leider erreiche ich den Erseller nicht mehr... 

Vielleicht hat einer von Euch eine ähnliche Lösung oder es kann jemand eine Exceltabelle nach o.g. Schema hier einstellen.

Vielen Vielen Dank... 

Gruß Martin

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

melzig
Mitglied
Maschinenbautechniker


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

Beiträge: 396
Registriert: 15.01.2003

erstellt am: 19. Mrz. 2004 07:16    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 Martin_0103 10 Unities + Antwort hilfreich

@ Martin !

Erkläre mal ein bisschen genauer wie weit du gekommen bist und was nicht funktioniert hat.

Tschüß Frank!

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

Martin_0103
Mitglied



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

Beiträge: 181
Registriert: 05.02.2003

3,4 GHz - Quadro 4000 - 12 GB RAM - WIN7 - IV2010 SP3

erstellt am: 19. Mrz. 2004 07:54    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

... es funktioniert nun ...

mein Fehler war das ich das "binden" nicht ganz gedeutet habe. Die Grafik (Smily01...) muss markiert sein und dann wird oben links im Feld wo normal die Zelle benannt ist, in der der Curser sich befindet (A1...A5...V23...), der Name der Grafik geschrieben (also Smily01...).

Der 2. Fehler liegt im Punkt C: - mit diesem Code funktioniet es.
Private Sub Worksheet_Change(ByVal Target As Range)
    Call Smily_ein_aus
End Sub

Schönes WE...

Gruß Martin

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