napisał: Blaszka_P postów: 112
umieszczony: 5 stycznia 2012 12:15
|
|
Dzięki bardzo za pomoc , z kolorami zrobiłem tak RGB(kolor1,kolor2,kolor3) a każdą zmienną jako losową liczbę.Jeszcze raz dzięki
Pozdrawiam
Blaszka_P |
|
napisał: Trebor postów: 1209
umieszczony: 29 grudnia 2011 20:42
|
|
Dużo rzeźby, ale zdaje się działa. Zabezpieczenie przed błędami niezbędne.
Kolorów do dyspozycji masz w zasadzie multum. Sprawdź Rgb(.......... |
|
napisał: Blaszka_P postów: 112
umieszczony: 29 grudnia 2011 18:54
edytowany: 29 grudnia 2011 19:22
|
|
Dzięki za podpowiedzi, dla koordynaty np. AB10 ma zaznaczyć cały kwadrat (4 małe pola) A10 i B10, nie wiem czy to można w ogóle zrealizować
Jeżeli chodzi o zaznaczaniem kolorem , to czy jest funkcja w której można użyć więcej niż 100 kolorów
ja używam .BackColor = QBColor(ile) trochę mało jeżeli chodzi o moje wymagania
Dzięki
Pozdrawiam |
|
napisał: Trebor postów: 1209
umieszczony: 29 grudnia 2011 18:32
edytowany: 29 grudnia 2011 18:33
|
|
Do deklaracji dopisz Dim Krok as Byte
Poniżej InputBoxa wstępne ustawienia dla kroku =1
Dla przypadku 'moduł lewy
If Koor_y(1) = "L" Then
D = 4
Z = 1
krok = 3
End If uzupełnij o krok
Dla pętli końcowej wpisz For i = Z To D Step krok
Co ma się dziać dla koordynaty np. AB10? |
|
napisał: Blaszka_P postów: 112
umieszczony: 29 grudnia 2011 13:28
edytowany: 29 grudnia 2011 13:30
|
|
Witam, dzięki za podpowiedz ale nie do końca o to mi chodziło. Przesyłam plik ,żeby bardziej można było to zrozumieć. W pliku mam matrycę 6x12 po uruchomieniu należy podać dowolną koordynatę zgodnie ze wzorem, następnie makro zaznaczy odpowiedni kwadrat na matrycy. Wszystko działa poprawnie,tylko nie wiem jak zaznaczać koordynaty ,które mają tylko lewe położenie na matrycy np.A1-L oraz mam problem z zaznaczaniem takich jak AB10 .Proszę o jakieś podpowiedzi
Pozdrawiam
Blaszka_P |
|
napisał: Trebor postów: 1209
umieszczony: 27 grudnia 2011 21:48
edytowany: 27 grudnia 2011 21:50
|
|
Nie za bardzo rozumiem oznaczeń koordynat. Jednak gdyby przełożyć to na komórki arkusza, to można tak:
Sub kolor()
Dim kom As Range, koo As String, wiersz As Integer, kolumna As Integer
For Each kom In Range("A1:L24")
kom.Interior.Color = 100
Next kom
Do
koo = InputBox("podaj koordynate!")
If koo = "" Then Exit Do
wiersz = Range(Left(koo, 2)).Row * 2 - 1
kolumna = Range(Left(koo, 2)).Column * 2 - 1
If UCase(Mid(koo, 3, 1)) <> "L" Then kolumna = kolumna + 1
If UCase(Right(koo, 1)) <> "G" Then wiersz = wiersz + 1
Range("A1:L24").Cells((wiersz - 1) * 12 + kolumna).Interior.Color = 200
Loop
End Sub
Bez problemu można z tego wyłuskać kolejny przycisk. Oznaczenie koordynaty to np. b5lg |
|
napisał: Blaszka_P postów: 112
umieszczony: 27 grudnia 2011 20:20
|
|
Witam
Mam mały problem z zaznaczaniem, chciałbym zaznaczać na kolory CommandButton zgodnie z podanymi danymi, np A1LG.
Mam do dyspozycji szachownicę 6x12 , każde pole podzieliłem na 4 małe przyciski CommandButton
to znaczy A1 = A1_1,A1_2, A1_3, A1_4 itd., w zależności od wartości zmiennej"Koordynata" powinny być aktywne przyciski
A1_1 i A1_3 ,pozostałe nie aktywne. Dlatego mam podzielone na 4 małe przyciski bo koordynaty są różne np.B2PG;A2L;B5PD itd. gdzie P=Prawy; G=Góra; L=Lewy; D=Dół
Czy można to jakoś zrobić w pętli lub inaczej w zależności od ilości podanych koordynat ?
Nie wiem czy dobrze przedstawiłem problem
Private Sub UserForm_Initialize()
Dim Koordynata As String
Dim Nazwa_czesci As String
Nazwa_czesci = "Gniazdo"
Koordynata = "A1L"
If Koordynata = "A1L" Then
'LG
A1_1.Enabled = True
A1_1.ControlTipText = Nazwa_czesci ' Wyświetla nazwę cześci
A1_1.BackColor = &HFF&
'PG
' A1_2.Enabled = True
' A1_2.ControlTipText = Nazwa_czesci ' Wyświetla nazwę cześci
' A1_2.BackColor = &HFF&
'LD
A1_3.Enabled = True
A1_3.ControlTipText = Nazwa_czesci ' Wyświetla nazwę cześci
A1_3.BackColor = &HFF&
'PD
' A1_4.Enabled = False
' A1_4.ControlTipText = Nazwa_czesci ' Wyświetla nazwę cześci
' A1_4.BackColor = &HFF&
End If
End sub
Bardzo dziękuję za jakiekolwiek podpowiedzi
Pozdrawiam
Blaszka_P |
|
wstecz 1 dalej wszystkich stron: 1
|