Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

RGB lesen aus modul
#1
Hallo liebes Forum,

Ich hab mal wieder eine Frage und zwar würde ich gerne in eine UserForm ein Image einbauen das die Aktuelle RGB Farbe von dem Modul1 liest ganz wichtig nur vom Modul1 nicht aus der Zelle. Blush

Damit der Endbenutzer dieses als Bild angezeigt bekommt welche Farbe gerade aktiv ist und wenn er diese über den Color picker in der UserForm ändert das dieser RGB Code dann überschrieben wird. :20:  hoffe ich hab mich verständlich ausgedrückt.
Hier mal mein Code von de UserForm und Von Modul1:

Hier der Code Modul1:

Sub Füll_Farbe_1()
'
' Farbe Makro
' Füll Farbe
'
' Tastenkombination: Strg+b
'
 
'Springt zu A in der Aktiven Zeile und Markiert die Ganze Zeile bis H in der Tablle und Färbt Sie
 A = ActiveCell.Row
     Cells(A, 1).Select
     Set MyRange = range(ActiveCell, ActiveCell.Offset(0, 7))
         MyRange.Select
     With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 15123356     <-- Hier der RGB Code
        .TintAndShade = 0
        .PatternTintAndShade = 0
     End With

Und Hier der Code der UserForm:

Sub RGB_auslesen1()
'Die Aktuelle Farbe "Farbe 1" die im Makro festgelegt ist
'Variablen Definieren
    Dim Red As Long
    Dim Green As Long
    Dim Blue As Long
    Dim Wert As Long
    Dim Indexwert As Long
'Variablen Werte zuweisen
     Wert = ActiveCell.Interior.Color
       If ActiveCell.Interior.ColorIndex = xlNone Then
         Indexwert = 0
       Else
         Indexwert = ActiveCell.Interior.ColorIndex
       End If
     On Error Resume Next
         Red = Wert Mod 256
         Wert = (Wert - Red) / 256
         Green = Wert Mod 256
         Wert = (Wert - Green) / 256
         Blue = Wert Mod 256
         Wert = (Wert - Blue) / 256
    Image3.BackColor = RGB(Red, Green, Blue)

Ich danke euch schon mal im voraus. Blush

Lg Florian
Live is a Game Play it
Antworten Top
#2
Hi,

ist das so etwas wie "Mitten durch die Brust ins Auge" ?

Code:
Public Const lngColor As Long = 15123356
Sub Füll_Farbe_1()
Dim A, MyRange
' Farbe Makro
' Füll Farbe
'
' Tastenkombination: Strg+b
'
  
'Springt zu A in der Aktiven Zeile und Markiert die Ganze Zeile bis H in der Tablle und Färbt Sie
     A = ActiveCell.Row
     Set MyRange = Range(Cells(A, 1), Cells(A, 1).Offset(0, 7))
     With MyRange.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = lngColor     '<-- Hier der RGB Code
        .TintAndShade = 0
        .PatternTintAndShade = 0
     End With
End Sub

auf der Form reicht dann

 Image3.BackColor = lngColor
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#3
Hallo kann man bei dieser Variante auch über die user Form den RGB code ändern da habe ich nämlich einen color picker eingebaut  ??
Live is a Game Play it
Antworten Top
#4
Hi,

eine Demodatei wäre von Vorteil :)
in welcher erkennbar ist was du erreichen willst.

Wenn ich es richtig verstehe sollte keine Konstante verwendet werden

Code:
Public lngColor As Long
Sub Füll_Farbe_1()
Dim A, MyRange
' Farbe Makro
' Füll Farbe
'
' Tastenkombination: Strg+b
'
  
'Springt zu A in der Aktiven Zeile und Markiert die Ganze Zeile bis H in der Tablle und Färbt Sie
If lngColor = 0 Then lngColor = 15123356
     A = ActiveCell.Row
     Set MyRange = Range(Cells(A, 1), Cells(A, 1).Offset(0, 7))
     With MyRange.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = lngColor     '<-- Hier der RGB Code
        .TintAndShade = 0
        .PatternTintAndShade = 0
     End With
End Sub

Und auf deiner Form (wo auch immer du das ausführen willst)
so etwas in der Art
lngColor  = Image3.backcolor

nur dazu müsste ich eine Datei von Dir sehen.
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#5
Hi nochmal,

Also ich möchte das der wert veränderbar über die UserForm ist hier als Anhang meine Datei.
Über den Color Picker kann der Benutzer eine Farbe Auswählen und diese ändert dann das Modul1.
Live is a Game Play it
Antworten Top
#6
Hi,

es ist nach wie vor nicht erkennbar wann die Farbe übernommen werden sollte...
Ich habe Dir jetzt einen Button angelegt der die Farbe übernimmt.

und ..... Codes haben zum Teil nicht funktioniert weil kein End If vorhanden war.
Variablen laufen ins leere da diese unterschiedliche schreib-weisen hatten (lngColor <> IngColor ) und da es auch kein Option explicit gibt erscheint auch keine Fehlermeldung.

.xlsm   Postadresse Ford_v1.xlsm (Größe: 83,26 KB / Downloads: 8)
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#7
Hi Chris,

(20.03.2018, 15:59)chris-ka schrieb: Variablen laufen ins leere da diese unterschiedliche schreib-weisen hatten (lngColor <> IngColor ) und da es auch kein Option explicit gibt erscheint auch keine Fehlermeldung.

das hatte ich Florian hier auch schon empfohlen, aber da ist er wohl noch am Testen (oder auch nicht).  Blush

Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste