Case a vyhodnocování výrazů

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Jakub Klinke
nováček
Příspěvky: 10
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Case a vyhodnocování výrazů

Příspěvekod Jakub Klinke » 17 led 2013 13:16

Tak jsem si myslel že mám pro dnešek vyhráno a opět jsem trochu narazil :) Vyzkoušel jsem snad vše a skončil s následující variantou kódu, která ale stále nefunguje. Jednoduše řešeno, potřebuji aby se při spuštění formuláře prověřila hodnota v buňce a dle toho se označil správný optionbox tečkou. :)

Poraďte, díky...

Kód: Vybrat vše

Private Sub UserForm_Initialize()
Select Case Sheets("ID").Range("C16").Value
        Case Sheets("ID").Range("C16").Value = "Inkasem"
        PlatbaInkasem.Enabled = True
        Case Sheets("ID").Range("C16").Value = "Přes Distributora"
        PlatbaPresDistributora.Enabled = True
        Case Sheets("ID").Range("C16").Value = "Převodem na účet"
        PlatbaPrevodem.Enabled = True
        Case Sheets("ID").Range("C16").Value = "V hotovosti při převzetí"
        PlatbaPrevodem.Enabled = True
        Case Sheets("ID").Range("C16").Value = "Zálohově"
        PlatbaZalohove.Enabled = True
End Select
End Sub

Reklama
Mirdad69
Level 2
Level 2
Příspěvky: 219
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: Case a vyhodnocování výrazů

Příspěvekod Mirdad69 » 17 led 2013 13:40

Co takhle přidat celý sešit?

--- Doplnění předchozího příspěvku (17 Led 2013 13:58) ---

Z tohoto kousku poznám jen, že při hodnotách Převodem na účtem a V hotovosti se na True nastaví jeden boxík a to PlatbaPrevodem.Enabled. Byl to záměr?

Jakub Klinke
nováček
Příspěvky: 10
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Case a vyhodnocování výrazů

Příspěvekod Jakub Klinke » 17 led 2013 14:08

To je chyba, ale po opravě to stejně nefunguje...

Toto je celá struktura a vzhled formuláře u kterého potřebuji načíst option boxy dle hodnoty v buňce (označeno / neoznačeno)

Kód: Vybrat vše

Private Sub DopravaNeniVCene_Click()
If DopravaNeniVCene.Value = True Then Sheets("ID").Range("C17").Value = "Doprava není v ceně"
End Sub

Private Sub DopravaVCene_Click()
If DopravaVCene.Value = True Then Sheets("ID").Range("C17").Value = "Doprava je v ceně"
End Sub

Private Sub UserForm_Initialize()
TextBox1.Text = Sheets("ID").Range("G5").Text
TextBox2.Text = Sheets("ID").Range("G13").Text
TextBox3.Text = Sheets("ID").Range("I14").Text
TextBox4.Text = Sheets("ID").Range("J14").Text
TextBox5.Text = Sheets("ID").Range("I15").Text
TextBox6.Text = Sheets("ID").Range("I16").Text
TextBox7.Text = Sheets("ID").Range("K16").Text
InfoKNabidce.Value = IIf(Sheets("INFO").Visible = -1, True, False)
NavrhovanyStav.Value = IIf(Sheets("NÁVRH").Visible = -1, True, False)
StavajiciStav.Value = IIf(Sheets("STÁVAJÍCÍ").Visible = -1, True, False)
DetailSokluSlicovany.Value = IIf(Sheets("DS - lícující").Visible = -1, True, False)
DetailSoklUstupujici.Value = IIf(Sheets("DS - odsazený").Visible = -1, True, False)
DetailOknoSlicovane.Value = IIf(Sheets("DO - lícující").Visible = -1, True, False)
DetailOknoZapustene.Value = IIf(Sheets("DO - zapuštěné").Visible = -1, True, False)
Select Case Sheets("ID").Range("C16").Value
        Case Sheets("ID").Range("C16").Value = "Inkasem"
        PlatbaInkasem.Enabled = True
        Case Sheets("ID").Range("C16").Value = "Přes Distributora"
        PlatbaPresDistributora.Enabled = True
        Case Sheets("ID").Range("C16").Value = "Převodem na účet"
        PlatbaPrevodem.Enabled = True
        Case Sheets("ID").Range("C16").Value = "V hotovosti při převzetí"
        PlatbaVHotovosti.Enabled = True
        Case Sheets("ID").Range("C16").Value = "Zálohově"
        PlatbaZalohove.Enabled = True
End Select
End Sub

Private Sub DetailOknoSlicovane_Click()
If DetailOknoSlicovane.Value = True Then Sheets("DO - lícující").Visible = -1
If DetailOknoSlicovane.Value = False Then Sheets("DO - lícující").Visible = 0
End Sub

Private Sub DetailOknoZapustene_Click()
If DetailOknoZapustene.Value = True Then Sheets("DO - zapuštěné").Visible = -1
If DetailOknoZapustene.Value = False Then Sheets("DO - zapuštěné").Visible = 0
End Sub

Private Sub DetailSokluSlicovany_Click()
If DetailSokluSlicovany.Value = True Then Sheets("DS - lícující").Visible = -1
If DetailSokluSlicovany.Value = False Then Sheets("DS - lícující").Visible = 0
End Sub

Private Sub DetailSoklUstupujici_Click()
If DetailSoklUstupujici.Value = True Then Sheets("DS - odsazený").Visible = -1
If DetailSoklUstupujici.Value = False Then Sheets("DS - odsazený").Visible = 0
End Sub

Private Sub InfoKNabidce_Click()
If InfoKNabidce.Value = True Then Sheets("INFO").Visible = -1
If InfoKNabidce.Value = False Then Sheets("INFO").Visible = 0
End Sub

Private Sub NavrhovanyStav_Click()
If NavrhovanyStav.Value = True Then Sheets("NÁVRH").Visible = -1
If NavrhovanyStav.Value = False Then Sheets("NÁVRH").Visible = 0
End Sub

Private Sub StavajiciStav_Click()
If StavajiciStav.Value = True Then Sheets("STÁVAJÍCÍ").Visible = -1
If StavajiciStav.Value = False Then Sheets("STÁVAJÍCÍ").Visible = 0
End Sub

Private Sub TextBox1_Change()
Sheets("ID").Range("G5") = TextBox1.Value
End Sub

Private Sub TextBox2_Change()
Sheets("ID").Range("G13") = TextBox2.Value
End Sub

Private Sub TextBox3_Change()
Sheets("ID").Range("I14") = TextBox3.Value
End Sub

Private Sub TextBox4_Change()
Sheets("ID").Range("J14") = TextBox4.Value
End Sub

Private Sub PlatbaInkasem_Click()
If PlatbaInkasem.Value = True Then Sheets("ID").Range("C16").Value = "Inkasem"
End Sub

Private Sub PlatbaPresDistributora_Click()
If PlatbaPresDistributora.Value = True Then Sheets("ID").Range("C16").Value = "Přes Distributora"
End Sub

Private Sub PlatbaPrevodem_Click()
If PlatbaPrevodem.Value = True Then Sheets("ID").Range("C16").Value = "Převodem na účet"
End Sub

Private Sub PlatbaVHotovosti_Click()
If PlatbaVHotovosti.Value = True Then Sheets("ID").Range("C16").Value = "V hotovosti při převzetí"
End Sub

Private Sub PlatbaZalohove_Click()
If PlatbaZalohove.Value = True Then Sheets("ID").Range("C16").Value = "Zálohově"
End Sub

Private Sub Hotovo_Click()
SestavitNabidku.Hide
End Sub





Přílohy
form.JPG

Mirdad69
Level 2
Level 2
Příspěvky: 219
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: Case a vyhodnocování výrazů

Příspěvekod Mirdad69 » 17 led 2013 14:17

Tak to je dotaz pro lepší kanony než jsem já. Z kódu a z jpg obrázku toho moc nevyčtu.

Jakub Klinke
nováček
Příspěvky: 10
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Case a vyhodnocování výrazů

Příspěvekod Jakub Klinke » 17 led 2013 16:01

OK, xls přikládám
Přílohy
test.xlsm
(48.92 KiB) Staženo 19 x

Mirdad69
Level 2
Level 2
Příspěvky: 219
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: Case a vyhodnocování výrazů

Příspěvekod Mirdad69 » 17 led 2013 16:19

Zkus tohle:

Kód: Vybrat vše

Select Case Sheets("ID").Range("C16").Value
        Case Is = "Inkasem"
        SestavitNabidku.PlatbaInkasem.Value = Enabled
        Case Is = "Přes Distributora"
        SestavitNabidku.PlatbaPresDistributora.Value = Enabled
        Case Is = "Převodem na účet"
        SestavitNabidku.PlatbaPrevodem.Value = Enabled
        Case Is = "V hotovosti při převzetí"
        SestavitNabidku.PlatbaVHotovosti.Value = Enabled
        Case Is = "Zálohově"
        SestavitNabidku.PlatbaZalohove.Value = Enabled
End Select

Jakub Klinke
nováček
Příspěvky: 10
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Case a vyhodnocování výrazů

Příspěvekod Jakub Klinke » 17 led 2013 17:55

Děkuji, funguje to perfektně, je tedy třeba na začátek napsat název formuláře, aby to fungovalo.. To by mě nikdy nenapadlo.. člověk se stále učí :)

Mirdad69
Level 2
Level 2
Příspěvky: 219
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: Case a vyhodnocování výrazů

Příspěvekod Mirdad69 » 17 led 2013 19:24

Tak to zrovna ne. To mi tam zůstalo, když jsem zkoušel přijít na tu chybu.
Pomohlo "Case Is ..." .


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Koupě case
    od lucaso84 » 07 čer 2025 07:26 » v Rady s výběrem hw a sestavením PC
    8
    1886
    od Cleric Zobrazit poslední příspěvek
    07 čer 2025 21:02
  • Single Fan vs Dual Fan a aka case?
    od AirCrew » 04 dub 2025 11:39 » v Rady s výběrem hw a sestavením PC
    0
    1174
    od AirCrew Zobrazit poslední příspěvek
    04 dub 2025 11:39
  • Překousané kabely reset sw, tlačítko start na case
    od Speedhack » 22 kvě 2025 00:04 » v Problémy s hardwarem
    12
    4494
    od atari Zobrazit poslední příspěvek
    29 kvě 2025 09:07

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti