Vidim, ze se do toho nikdo nehrne. Nerad bych vyfoukl moznost odmeny nejakemu sikulovi v nouzi.
Ja to klidne zbastlim for free. Taky se vyjadrujes velmi jasne, coz nebyva castym zjevem. Presto otazka:
Jakym zpusobem se to ma vyhodnocovat? Nejlepe kdyz bys prilozil priklad jednoho vyhodnoceneho listu. Predpokladam, ze to bude na liste ktery nema v nazvu vyraz "podminky". Nevim v kterem sloupci to chces vyhodnocovat a jakym zpusobem napriklad hlasit neshodu anebo absenci daneho elementu na "podminkovem" listu.
Potrebuju, abys navodil veschny mozne neshody a jak je chces mit vyhodnocene
Neprimy odkaz funguje i s 3D odkazem, tedy do jineho sesitu. Testovano v anglickem excelu 2010 (fce=INDIRECT)
jednoduchy vyhledavaci vzorec:
=VLOOKUP(A4,INDIRECT(B2),2,0)
pricemz v bunce B2 musi byt nazev souboru ve takovemhle formatu:
[MyTeamCases.xlsm]main!$B$2:$D$20
Bohuzel, cestu tam ani nema vyznam davat, nebot ten zdrojovy sesit musi byt otevreny. Pokud je zavreny, neda se reseni pomoci neprimeho odkazu pouzit.
Nevim o jinem zpusobu jak to vyresit vzoreckem. Pokud na to prijdes, urcite se pochlub
=IF(FIND(A1,B1)>0,"ANO","NE")
=KDYŽ(NAJÍT(A1;B1)>0;"ANO";"NE")
Pisu z hlavy, treba se pletu.
Zkus tam dat jeste prikaz, aby se po Show aktivovala nejaka vhodna bunka na liste (ta A1 to asi nebude, to by se zrejme cyklilo)
Dalsi moznosti by mohlo byt zadefinovani modalniho chovani toho UserFormu, asi ShowModal nebo tak nejak. To by si pak zil na liste svym zivotem. Ale nevim, jestli toto je to co bys uvital
Zkus ten csv prejmenovat na txt a podivat se do neho notopadem, anebo mozna notepad umi otevrit csv primo. Dal bych ruku do ohne za to, ze ta konverze na datumy je excelovina
tak zkus to nastaveni datumu ve windows zmenit.
Jakou mas verzi excelu? Priloha je xls, ale tu, jak pises vytvari uz primo teplomer, takze verze excelu je furt neznama
Zkus nejdriv (pred importem) nastavit v cilove oblasti spravny format bunek, tedy ne obecny (general), ale jako desetinne cislo, anebo zkus i jako text.
Pokud to nepomuze, budes muset upresnit jak a odkud to importujes.
Mozna taky bude zalezet na verzi excelu a regionalnim a jazykovem nastaveni Windows
Nevime jak to myslis, takze zacneme od nejtrivialnejsiho reseni:
Ctrl+H
najit 1 zamenit za "vyborne"
najit 2 a zamenit za "chvalitebne" atd
Tak nevim, ale reseni pomocnym sloupcem je elegantni. To bych radeji upravil rozhozeni ostatnich veci. Zapsat do pomocneho sloupce jeden znak je stejne rychle, ne-li rychlejsi, nez dosahnout preskrtnute zobrazeni.
Stejne se to pak preskrtnute jevit bude, nebot toto zaridi podminene formatovani - podle toho, jestli v pomocnem sloupci dany (nebo libovolny) znak je anebo neni.
Soucet podle barevy je mozny, ale k tomu musi byt vyssi verze excelu, nez *.xls (priloha je .xls)
Rucne by to mohlo jit takhle:
najdi shortcut k Excelu (Start-Programy-Microsoft Office-Excel), prava mys, Vlastnosti (anebo Properties) a tam uz to najdes
Class modul je nocni mura, kdysi jsem se s tim dost trapil, tezko se to debugguje.
Jestli tomu rozumim, chces se vyhnout tlacitku. Ale to by mohla stacit udalostni procedura na urovni listu (change), ne?
Ale i tak tam hrozi zacykleni. Tomu se da vyhnout prikazem Application.EnableEvents=False, ktery musis vlozit do vhodneho mista v kodu a ten zpusobi, ze zmena na liste kterou provedeme kodem (tedy zmena kterou chceme), nespusti udalostni proceduru zase od zacatku (takhle se ti to tam cykluje ted).
Ale ja bych se radeji smiril s tlacitkem ci jinym uzivatelskym spoustecem, usetris si spoustu nervu, pokud vylozene nejses VBA profesor
Zdeny - vzdyt to vytahne psc do samostatnych bunek ve sloupci B.
Pouzij cely kod tak jak to tam mam a spusti Sub VyjmiPSC(kurzor nekam do Sub a zmackni F5). Klidne si volej marianovu funkci, je ucinnejsi
Marian:
Replace + Like "#####" = parada
Leda tak kazdy ten retezec prohnat smyckou, ktera bude zkoumat, jestli 5 znaku po sobe je cislo (VBA funkce IsNumeric a MID). Pokud nekdo dopustil takovou databazi, tak sorry, niceho jineho se neda chytit
treba tahkhe:
Option Explicit
Sub VyjmiPSC()
Dim i As Integer
For i = 1 To 4
Cells(i, "B") = ExtrahujPSC(Cells(i, "A").Value)
Next i
End Sub
Function ExtrahujPSC(strText As String) As String
Dim j As Integer, iLen As Integer
Dim strX As String, strY As String
'odstran pocatecne a koncove mezery
strText = Trim(strText)
'delka vyrazu
iLen = Len(strText)
'odstran mezery
On Error Resume Next
For j = 1 To iLen
If Mid(strText, j, 1) = " " Then
strText = Left(strText, j - 1) & Right(strText, Len(strText) - j)
End If
Next j
On Error GoTo 0
'jeste jednou sejmi delku vyrazu
iLen = Len(strText)
For j = 1 To iLen - 4
strX = Mid(strText, j, 5)
If IsNumeric(strX) Then
'podminka pro vylouceni desetinnych vyrazu:
If CStr(CLng(strX * 1)) = strX Then
ExtrahujPSC = Left(strX, 3) & " " & Right(strX, 2)
Exit Function
End If
End If
Next j
End Function
S takovym vysvetlovacim talentem budes muset pro nas blby asi znazornit i vysledny stav, cos myslel tim druhym zmatecnim odstavcem.
To by byla pouze strelba naslepo.
Zkus najit ten spominany plan pro jednotlivce a muzeme to probnout predelat na hromadny
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.