Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  69 70 71 72 73 74 75 76 77   další » ... 140

If Not Dir(sAdresar & "\" & V_*_2015_02_S.txt") = vbNullString Then
'existuje
End If

Určitě lze, jen je třeba říct, jak vypadá ta maska.

Hehe - mno, mám rád když se po ránu mohu rozehřát něčím, co zapojí mé závity.
Formátem to nelze, protože pokud máte zapsánu IP adresu ve formátu "x.x.x.x", tak to není číslo, ale text a ten nenaformátujete. A pokud ho máte decimálně, tak to zase formátem do tohoto tvaru nedostanete.
Takže: bez ohledu na význam jednotlivých částí - dotaz zněl k IP adrese přičíst 1

1. Musíte převést IP (v buňce A1) do decimálního tvaru - třeba takto (B1)=HEX2DEC(DEC2HEX(ZLEVA(A1;NAJÍT(".";A1)-1)/1;2)&DEC2HEX(ČÁST(A1;NAJÍT(".";A1)+1;NAJÍT("|";DOSADIT(A1;".";"|";2))-NAJÍT(".";A1)-1);2)&DEC2HEX(ČÁST(A1;NAJÍT("|";DOSADIT(A1;".";"|";2))+1;NAJÍT("|";DOSADIT(A1;".";"|";3))-NAJÍT("|";DOSADIT(A1;".";"|";2))-1);2)&DEC2HEX(ČÁST(A1;NAJÍT("|";DOSADIT(A1;".";"|";3))+1;3);2))2. Pak můžete přičíst 1 a převést zpět do tvaru adresy - třeba takto (C1)=HEX2DEC(ZLEVA(DEC2HEX(B1+1;8);2))&"."&HEX2DEC(ČÁST(DEC2HEX(B1+1;8);3;2))&"."&HEX2DEC(ČÁST(DEC2HEX(B1+1;8);5;2))&"."&HEX2DEC(ZPRAVA(DEC2HEX(B1+1;8);2))No a pokud to chcete v jedné buňce, tak z toho vyleze takováto šílenost ;))=HEX2DEC(ZLEVA(DEC2HEX(HEX2DEC(DEC2HEX(ZLEVA(A1;NAJÍT(".";A1)-1)/1;2)&DEC2HEX(ČÁST(A1;NAJÍT(".";A1)+1;NAJÍT("|";DOSADIT(A1;".";"|";2))-NAJÍT(".";A1)-1);2)&DEC2HEX(ČÁST(A1;NAJÍT("|";DOSADIT(A1;".";"|";2))+1;NAJÍT("|";DOSADIT(A1;".";"|";3))-NAJÍT("|";DOSADIT(A1;".";"|";2))-1);2)&DEC2HEX(ČÁST(A1;NAJÍT("|";DOSADIT(A1;".";"|";3))+1;3);2))+1;8);2))&"."&HEX2DEC(ČÁST(DEC2HEX(HEX2DEC(DEC2HEX(ZLEVA(A1;NAJÍT(".";A1)-1)/1;2)&DEC2HEX(ČÁST(A1;NAJÍT(".";A1)+1;NAJÍT("|";DOSADIT(A1;".";"|";2))-NAJÍT(".";A1)-1);2)&DEC2HEX(ČÁST(A1;NAJÍT("|";DOSADIT(A1;".";"|";2))+1;NAJÍT("|";DOSADIT(A1;".";"|";3))-NAJÍT("|";DOSADIT(A1;".";"|";2))-1);2)&DEC2HEX(ČÁST(A1;NAJÍT("|";DOSADIT(A1;".";"|";3))+1;3);2))+1;8);3;2))&"."&HEX2DEC(ČÁST(DEC2HEX(HEX2DEC(DEC2HEX(ZLEVA(A1;NAJÍT(".";A1)-1)/1;2)&DEC2HEX(ČÁST(A1;NAJÍT(".";A1)+1;NAJÍT("|";DOSADIT(A1;".";"|";2))-NAJÍT(".";A1)-1);2)&DEC2HEX(ČÁST(A1;NAJÍT("|";DOSADIT(A1;".";"|";2))+1;NAJÍT("|";DOSADIT(A1;".";"|";3))-NAJÍT("|";DOSADIT(A1;".";"|";2))-1);2)&DEC2HEX(ČÁST(A1;NAJÍT("|";DOSADIT(A1;".";"|";3))+1;3);2))+1;8);5;2))&"."&HEX2DEC(ZPRAVA(DEC2HEX(HEX2DEC(DEC2HEX(ZLEVA(A1;NAJÍT(".";A1)-1)/1;2)&DEC2HEX(ČÁST(A1;NAJÍT(".";A1)+1;NAJÍT("|";DOSADIT(A1;".";"|";2))-NAJÍT(".";A1)-1);2)&DEC2HEX(ČÁST(A1;NAJÍT("|";DOSADIT(A1;".";"|";2))+1;NAJÍT("|";DOSADIT(A1;".";"|";3))-NAJÍT("|";DOSADIT(A1;".";"|";2))-1);2)&DEC2HEX(ČÁST(A1;NAJÍT("|";DOSADIT(A1;".";"|";3))+1;3);2))+1;8);2))

Vzorce anglicky (pro ostatní národy a šťastlivce s anglickou lokalizací ;) )
B1:=HEX2DEC(DEC2HEX(LEFT(A1,FIND(".",A1)-1)/1,2)&DEC2HEX(MID(A1,FIND(".",A1)+1,FIND("|",SUBSTITUTE(A1,".","|",2))-FIND(".",A1)-1),2)&DEC2HEX(MID(A1,FIND("|",SUBSTITUTE(A1,".","|",2))+1,FIND("|",SUBSTITUTE(A1,".","|",3))-FIND("|",SUBSTITUTE(A1,".","|",2))-1),2)&DEC2HEX(MID(A1,FIND("|",SUBSTITUTE(A1,".","|",3))+1,3),2))C1:=HEX2DEC(LEFT(DEC2HEX(B1+1,8),2))&"."&HEX2DEC(MID(DEC2HEX(B1+1,8),3,2))&"."&HEX2DEC(MID(DEC2HEX(B1+1,8),5,2))&"."&HEX2DEC(RIGHT(DEC2HEX(B1+1,8),2))Do jedné buňky=HEX2DEC(LEFT(DEC2HEX(HEX2DEC(DEC2HEX(LEFT(A1,FIND(".",A1)-1)/1,2)&DEC2HEX(MID(A1,FIND(".",A1)+1,FIND("|",SUBSTITUTE(A1,".","|",2))-FIND(".",A1)-1),2)&DEC2HEX(MID(A1,FIND("|",SUBSTITUTE(A1,".","|",2))+1,FIND("|",SUBSTITUTE(A1,".","|",3))-FIND("|",SUBSTITUTE(A1,".","|",2))-1),2)&DEC2HEX(MID(A1,FIND("|",SUBSTITUTE(A1,".","|",3))+1,3),2))+1,8),2))&"."&HEX2DEC(MID(DEC2HEX(HEX2DEC(DEC2HEX(LEFT(A1,FIND(".",A1)-1)/1,2)&DEC2HEX(MID(A1,FIND(".",A1)+1,FIND("|",SUBSTITUTE(A1,".","|",2))-FIND(".",A1)-1),2)&DEC2HEX(MID(A1,FIND("|",SUBSTITUTE(A1,".","|",2))+1,FIND("|",SUBSTITUTE(A1,".","|",3))-FIND("|",SUBSTITUTE(A1,".","|",2))-1),2)&DEC2HEX(MID(A1,FIND("|",SUBSTITUTE(A1,".","|",3))+1,3),2))+1,8),3,2))&"."&HEX2DEC(MID(DEC2HEX(HEX2DEC(DEC2HEX(LEFT(A1,FIND(".",A1)-1)/1,2)&DEC2HEX(MID(A1,FIND(".",A1)+1,FIND("|",SUBSTITUTE(A1,".","|",2))-FIND(".",A1)-1),2)&DEC2HEX(MID(A1,FIND("|",SUBSTITUTE(A1,".","|",2))+1,FIND("|",SUBSTITUTE(A1,".","|",3))-FIND("|",SUBSTITUTE(A1,".","|",2))-1),2)&DEC2HEX(MID(A1,FIND("|",SUBSTITUTE(A1,".","|",3))+1,3),2))+1,8),5,2))&"."&HEX2DEC(RIGHT(DEC2HEX(HEX2DEC(DEC2HEX(LEFT(A1,FIND(".",A1)-1)/1,2)&DEC2HEX(MID(A1,FIND(".",A1)+1,FIND("|",SUBSTITUTE(A1,".","|",2))-FIND(".",A1)-1),2)&DEC2HEX(MID(A1,FIND("|",SUBSTITUTE(A1,".","|",2))+1,FIND("|",SUBSTITUTE(A1,".","|",3))-FIND("|",SUBSTITUTE(A1,".","|",2))-1),2)&DEC2HEX(MID(A1,FIND("|",SUBSTITUTE(A1,".","|",3))+1,3),2))+1,8),2))

Možná je toto ten případ, že bych uvažoval o UDF - ale nevím ;)

Technická
prosím, přejmenujte vlákno (pokud to lze) aby bylo jasné, že to není o formátu, ale o práci s IP adresou. Děkuji

Mno přijde mi to jako naprostá zbytečnost, ale po ránu na rozcvičení

SelectionChange stačit nebude. Jak píše marjankaj některé akce tuto událost nevyvolají. Takže zkuste do modulu sešitu (ThisWorkbook) vložitPrivate Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.Calculate
End Sub
pak přidejte standardní modul a vložteFunction GET_ACTIVECELL()
GET_ACTIVECELL = ActiveCell.Value
End Function
no a pak do buňky, kde chcete vidět tu hodnotu vložte=GET_ACTIVECELL()
Testoval jsem asi 15s a protože nevidím žádé rozumné využití, dále se tím nezabývám

@Yerome1
Mno - moc dobře nerozumím, k čemu Vám bude, když to budete mít uložené v HASH. Prostě ten Váš HASH zkopírují a zadají jako heslo...

A vkládat tady celý kód, abychom museli rolovat a rolovat - nestačil odkaz?

Mno - jsou pouze 2 možnosti - buď máte skryté sloupce, viz výše
anebo, a to je pravděpodobnější - máte otevřený soubor, který byl vytvořen ve verzi starší než 2007 - máte to v režimu kompatibility
Zkuste ho uložit jako xlsx, zavřít a otevřít

Hmm, tak nevím, jestli Vám rozumím. Ale pokud Vám rozumím, tak
1. klepněte na kteroukoliv buňku
2. CTRL+A
3 Pravým tlačítkem na záhlaví kteréhokoliv sloupce (označení sloupce - např. B) a vyberte Zobrazit

A k tomu druhému - já vyzkoušel poslat do SAP příkaz SHIFT+F7 pomocíSub test()
AppActivate "HV vč IFRS - pl/sk (04_HVTOTAL)"
Application.SendKeys Keys:="+{F7}"
End Sub
a prošlo to, takže by to mohlo stačit ;)))

Ten text za AppActivate je Caption okna SAP, ale to jste asi pochopil ;))

edit:
tak změna - prošlo to, pokud byl výkaz zobrazen standardně v SAP, pokud byl v Excelu:Sub test()
AppActivate "HV vč IFRS - pl/sk (04_HVTOTAL)"
Application.SendKeys Keys:="^{TAB}+{F7}"
End Sub

Ale vypíná mi to Num lock - něco nechám taky na Vás ;))

Mno - takže u mně je ten report v SAPu např. takto:
img

A pak si ho vyhledám: Dim wSAPBook As Workbook
Dim wBook As Workbook
For Each wBook In Workbooks
If (InStr(1, wBook.Name, "List v ReportWriter") <> 0) And (Left(wBook.Sheets(1).Name, 10) = "Výsledovka") Then
Set wSAPBook = wBook
Exit For
End If
Next wBook
Set wBook = Nothing

Pak mám With wExcelBook.Sheets(1)

wSAPBook.Sheets(1).Cells.Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues
Set wSAPBook = Nothing
a dál už si s tím (barvičky) poradíte sám ;)

Mno - doma SAP nemám, ale ty reporty se mi otevírají v kontejneru, takže po zobrazení VBE byste je tam měl vidět normálně vidět. Mělo by to teda jít bez CreateObject. Té hlášky se můžete ještě zbavit i tím, že ten starý soubor prostě smažete (Kill)

Co se týká vady na kráse
Já jsem si vyřídil oprávnění na Report Painting, takže si vytvořím výkaz, přesně jak potřebuji. Pokud Vám ho nedají, kontaktujte operátora SAPu ve firmě, ať Vám udělá kopii toho výkazu s plným rozbalením (musí se nastavit v definici výkazu, takže pokud ten výkaz není vytvořen pouze pro Vás, bude kopie lepší). Ikdyž si nejsem jistý, jestli Vámm to projde, když budete argumentovat, že se Vám nechce mačkat Shift+F9 ;)))

Je samozřejmě možnost ovládat SAP přímo z excelu, ale to je na dlouho. Možná bych proto zkusil přesunout focus na okno SAP a vyslat kombinaci SHIFT+F9 (jak bych to normálně nedoporučil) - focus musí být na okně SAP, ne na reportu v excelu.

1. AVARAGEIF nebo AVARAGEIFS
2. SUMIF/COUNTIF nebo SUMIFS/COUNTIFS

@AL
díky, lépe bych to nevysvětlil ;))
Protože se to vizuálně nikde neprojeví, jde opravdu "jen" o vyloučení chyby. Popravdě, místo znaku "-" by bylo lepší zvolit něco jiného, protože i ten je trochu rizikový.
Takže bych měl raději použít "#" nebo lépe "°".

Je legrace, že v podstatě stejné řešení použil AL ve vedlejším vlákně (možná mi někdo uvěří, že nezávisle ;)) ).=IFERROR(INDEX($C$2:$C$270;POZVYHLEDAT($J21&"-"&K$20;$A$2:$A$270&"-"&$B$2:$B$270;0));"XXX")samozřejmě maticově

Btw:
já moc svyhledat nemusím, takže pro ten obrázek=INDEX($F$2:$F$9;COUNTIF($E$2:$E$9;"<"&A2)+1)

I já to pochopil jako Pepe a proto jsem dodal
Pokud ne, tak nějak podobně jako pepe a já jsem nezlobil ;)

Ono je to tak - někdy mám náladu si zapřemýšlet a slušné zadání, aby člověk pohledal - a když nenajdu, je třeba si ho sám vymyslet ;) . Není to často, ale někdy se to stane. Ono to na mně vystřelilo, vypadá to jako otázka v IQ testu

1 az 5 -> 100
6 az 10 -> 200
11 az 20 -> 300
???


taxem toho využil ;)))


Strana:  1 ... « předchozí  69 70 71 72 73 74 75 76 77   další » ... 140

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28