Excel VBA - zjednodusenie   otázka

VB6/VBA

Zdravim,

nemam uplne problem, ale skor ma zaujima ci by sa nedal lepsie zoptimalizovat nasledujuci kod. Je to pisane vo VBA (Excel) ale to urcite ti bystrejsi zistia hned na prvy pokus :o)

Private Sub txtBAT_NAP_Change()
    
    With txtBAT_NAP
        If Not IsNumeric(.Value) And .Value <> vbNullString Then
            MsgBox ("Je možné zadať len číselné hodnoty!"), vbExclamation, ("Chyba")
            .Value = vbNullString
        End If
        
        Select Case Val(.Text)
            Case Sheets("Data").Cells(8, 86) To Sheets("Data").Cells(6, 86)
                .BackColor = RGB(0, 200, 0)
            Case Sheets("Data").Cells(6, 86) To Sheets("Data").Cells(5, 86)
                .BackColor = RGB(255, 200, 0)
            Case Sheets("Data").Cells(9, 86) To Sheets("Data").Cells(8, 86)
                .BackColor = RGB(255, 200, 0)
            Case Else
                .BackColor = RGB(255, 0, 0)
        End Select
    End With
 
End Sub

Mam viacero textboxov, pri ktorych sa vzdy kontroluju rovnake veci. A to ci je zadana hodnota numericka a ci je zadana hodnota v urcitych limitoch - ak ano podla toho sa zafarbi aj prislusny text box (ak je hodnota ok, je zelena, oranzova az cervena NOK). Udaje o limitoch berie s excelovskej tabulky. Vzdy sa len meni stlpec, riadok zostava rovnaky.

Kedze vo forme mam vela takychto text boxov s uvedenym kodom, chcem sa opytat ci to nie je mozne zjednodusit pomocou nejakej funkcie, ktora by mala vstupny parameter cislo stlpca a meno text boxu.

Kazda rada dobra. Dakujem

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No divej pokud jich mas opravdu hodne, udelal bych si tridu (modul tridy) tam bych priradil vsechny textboxy.

Nastavil bych udalost Change a do kazdeho textboxu bych do vlastnosti TAG vlozil cislo sloupce, ze ktereho se maji brat intervaly a pri kazdem volani bych si proste zjistil cislo z vlastnosti TAG a zkontrolovat.

I kdyz nevim jak mas udelana data.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback