Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  45 46 47 48 49 50 51 52 53   další » ... 122

Ja Vám verím, Vy opisovať nepotrebujete 1

@elninoslov
pokiaľ to OP myslel skutočne tak, ako si to pochopil, tak maticový vzorec naozaj nutný nie je=IFERROR(FIND(B1; A1)>0; 0)+IFERROR(FIND(A1; B1)>0; 0)=1

=INDEX(F:F; MATCH(A2&B2;D:D&E:E; 0))maticovo

na jednoslovné názvy miest z vety, kedy mesto sa nachádza na konci reťazca, napr. takto:Function PoslSlovo(Veta As String) As String
Dim mySplit As Variant
mySplit = Split(StrReverse(Veta), " ")
PoslSlovo = StrReverse(mySplit(0))
End Function
ale je to etuda len na inšpiráciu, rozhodne to nebude funkčné, pokiaľ bude za názvom mesta ešte čosi, alebo názov mesta bude viacslovný

edit: Za predpokladu, že mesto bude uvedené na konci a bude mu predchádzať PSČ, šlo by to i takto (a spôsobov je rozhodne ďaleko viac; i natívnymi funkciami excelu, ale cez VBA mi toto príde vyriešiť rýchlejšie):Function MestoNaKonci(Veta As String) As String
Dim mySplit As Variant, i As Integer
mySplit = Split(Veta, " ")
For i = UBound(mySplit) To LBound(mySplit) Step -1
If IsNumeric(mySplit(i)) Then
Exit For
Else: MestoNaKonci = mySplit(i) & " " & MestoNaKonci
End If
Next i
End Function

príklad iného typu cyklu:Function MestoNaKonciInak(Veta As String) As String
Dim mySplit As Variant, i As Byte
mySplit = Split(Veta, " ")
i = UBound(mySplit)
Do While Not IsNumeric(mySplit(i))
MestoNaKonciInak = mySplit(i) & " " & MestoNaKonciInak
i = i - 1
Loop
End Function

Vychádzal som z prílohy, ktorú si vložil do odpovede z 30.6.2015 20:49 (zkouška.zip).
Nakoľko súbor z prílohy obsahuje modul s nejakým tvojim makrom, mal som za to, že vieš, ako vložiť kód do modulu.

Zrejme som sa ale mýlil, takže postup je nasledujúci:
1. Otvor svoj súbor a postav sa na list s tými checkboxami
2. Zmačkni Alt+F11
3. Do modulu Module1 (napríklad), ktorý si rozklikneš v okne projektov, skopíruj kód, ktorý som sem vložil.
4. V module klikni niekam medzi riadky Sub a End Sub
5. Zmačkni F5

Mám za to, že toto by mohlo pomôcť:Sub Linkuj()
Dim chBox As CheckBox
Application.ScreenUpdating = False
For Each chBox In ActiveSheet.CheckBoxes
With chBox
.LinkedCell = .TopLeftCell.Offset(0, 1 - (.Left - .TopLeftCell.Left > 5)).Address
End With
Next chBox
Application.ScreenUpdating = True
End Sub

Ale mám zatiaľ nevyriešený problém. A to je potreba odkliknúť povolenie pre odoslanie mailu "aplikáciou v zastúpení" Outlooku, čiže makrom. Neviete ako by sa to dalo vyriešiť ?
Dá sa to vyriešiť tak, že ako klienta nepoužiješ Outlook :)
http://www.rondebruin.nl/win/s1/cdo.htm

za nič

musíš vybrať celý stĺpec tabuľky bez záhlavia

=SUMIFS(DataTab[Zbývající částka];DataTab[SPLAT];$A7;DataTab[Banka];D$6)

No, ja už to riešiť ďalej nebudem, páč musím robiť niečo iné. Každopádne, v pôvodnom zadaní nepadla z Tvojej strany zmienka o tom, že rok má byť v intervale 1990-2100. Bez uvedenej podmienky je pre mňa číslo 48 rokom, rovnako i číslo 9999 môže byť rokom. Pokiaľ by mala platiť pôvodná podmienka 4 čísel, tak rokom môže byť všetko v tvare od 0001 do 9999. Chce to byť konkrétnejší a hlavne presnejší pri definovaní zadania, hra Hádej, na co myslím, ma nebaví, zo žiadosti typu: "...a nešlo by ešte toto nejak", mám väčšinou divný pocit, sorry.

Alfan napsal/a:


Není tam ta kontrola na čtyři znaky, jak jsem psal výše a proto to nefunguje dobře například na řádcích:
1531
1532
ale na řádku 1533 už ano...?


asi som menej chápavý, ale na uvedených riadkoch 1530-1534 vidím hodnoty, ku ktorým funkcia dáva výsledok:

396/2010 1
3962009/01 4
3962009/02 4
3962009-003 5
3962009 1

a ten je pmn správny, pletiem sa?

Alfan napsal/a:

a také to bez té kontroly najde i čísla, která mají jen dva znaky a není tam letopočet. (rok)
- nepriem sa, nehľadal som, ale mohol by si uviesť nejaký príklad?

Alfan napsal/a:


A ty SPZ by mi taky pomohly...
Toto v zadaní nebolo, neriešil som.

Pokus dostať to celé do jednej funkcie, bez pomocných stĺpcov. Snáď to bude fungovať, treba otestovať:Function Pozicia(Arg1 As String) As Byte
Dim i As Integer, j As Integer
Arg1 = StrReverse(Arg1)
Arg1 = Replace(Arg1, " ", "x")
For i = 1 To Len(Arg1)
On Error Resume Next
j = CInt(Mid(Arg1, i, 4))
On Error GoTo 0
If j > 0 Then
Pozicia = i
Exit For
End If
Next i
End Function
malo by si to poradiť i s reťazcom v nasledujúcom tvare:

007200 9 E

ale nedám ruku do ohňa za to, že je to 100% spoľahlivé, ber to len ako pokus a náznak možného riešenia.

njn, ja som opäť na mapu znakov zabudol a HEX (alebo ASCI) kód hľadal cez vloženie symbolu - a tam som fí nikde nevidel :). Takže ďakujem za cenné rady:
1. hľadať v mape znakov
2. objaviť fn ChrW
3. používať vlastnosť OLEFormat objektu Shape
Z jednej otázky som sa nakoniec naučil celkom dosť, díky :), ešte si to pamätať do budúcna..
Teraz som zistil, že som mal asi vlčiu tmu, páč už to fí vidím i vo vložení symbolov..

jj, to už nepotrebujem, to premenovanie, ja som si práve ten prvok pomenoval - na TextBox1. Je to popisok grafu, v každom grafe budú dva takéto popisky, jeden sa volá TextBox1, druhý TextBox2. Na stránke bude niekoľko grafov, v každom sú uvedené dva Textboxy, žiadny neporiadok v tom nemám, díky:)


Strana:  1 ... « předchozí  45 46 47 48 49 50 51 52 53   další » ... 122

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