< návrat zpět

MS Excel


Téma: < nebo rovno rss

Zaslal/a 24.6.2020 15:00

Jde nějak jednoduše upravit rozhodování

Mám kopírování buněk na základě toho je li v buňce prázdno

Workbooks(JmenoS).Worksheets(Rok).Range("I1") ="" Range("P2")) Then

'Rozhodování, zda se v buňce nachází nic

Chtěl bych toto rozšířit na to bude li tam menší číslo to bych nahradil = za > ale jde mě o to zda li jde ještě nějak ošetřit i to když by I1 byl text aby se přepsal
Asi něco jako
Workbooks(JmenoS).Worksheets(Rok).Range("I1") =OR("";"Nejsou data";< Range("P2")) Then

V buňce I1 by mohlo být menší číslo nebo text (nejčastěji nejsou data) Které bych chtěl přepsat

Zaslat odpověď >

#047046
avatar
Asi už jsem našel co jsem hledal

Workbooks(JmenoS).Worksheets(Rok).Range("I1") < Range("P2") Or "Nejsou data" = Workbooks(JmenoS).Worksheets(Rok).Range("I1") Then
citovat
#047047
elninoslov
Myslíte test, či v bunke je text "Nejsou data", alebo chcete otestovať či je bunka prázdna niečim podobným:
IsEmpty(Workbooks(JmenoS).Worksheets(Rok).Range("I1"))
LenB(Workbooks(JmenoS).Worksheets(Rok).Range("I1"))=0
Workbooks(JmenoS).Worksheets(Rok).Range("I1").Value=""
citovat
#047048
avatar
Šlo mě jen o to že v buňce I1 muže nastat
je prázdná = chci přepsat P2
"Nejsou data" = chci přepsat text nejsou data s daty z buňky P2
Je li I1 menší číslo = také přepsat daty z P2
Je li větší = hodí mě to MSG box.
Nalezené řešení mě takto funguje tak že asi dál zkoumat není třeba, ale i tak dík za pomoccitovat
#047049
elninoslov
Tak testujte o 1 podmienku menej. Ak to dobre chápem, tak stačí otestovať či je I1 v tom inom zošite číslo a zároveň ak je, tak či je väčšie ako P2 a aktuálnom liste aktuálneho zošitu. Ak je splnená táto dvojpodmienka tak hodnotu I1 v inom zošite nahradiť tou z P2 z aktuálneho listu aktuálneho zošitu. Ale nahradí to aj keď bude I1 obsahovať "abc" alebo iný text ako "Nejsou data", teda akýkoľvek. Neviem, čo môže I1 nadobúdať.

Sub pokus()
Dim JmenoS As String, Rok As String, Nahradna As Double, Hodnota

JmenoS = "Zošit1"
Rok = "Hárok1"
Nahradna = Range("P2").Value
With Workbooks(JmenoS).Worksheets(Rok).Range("I1")
Hodnota = .Value
If IsNumeric(Hodnota) And Hodnota > Nahradna Then MsgBox "kuk" Else .Value = Nahradna
End With
End Sub

Ale máte pravdu v tom, že sa tým netreba zaoberať, či ide o 1 alebo 2/1000 sek je šumák. To len tak z nudy... 1citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje