Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  2 3 4 5 6 7 8 9 10   další » ... 16

Pánové, s velkým zájmem jsem si přečetl celou tuto konverzaci, která by měla být poučením pro všechny.

Velice se přikláním k názorům Stalker a Al. Vážím si práce elninoslov, ale bohužel odvádí pro mnohé medvědí služby - což ostatně velice výstižně popsal Al.
Dnes a denně se s obdobnými problémy potýkám v zaměstnání, někdo chce radu, ale není schopen odpovědět na základní otázky, či navrhnout varianty jak by danou problematiku řešil. Takovým to osobám je jakákoliv poskytnutá rada na dvě věci, sice to pravděpodobně udělají podle doporučení (a nebo také ne a to je pak mnohem horší), ale druhý den chtějí poradit s tím samým problémem.
Co z toho plyne? Pokud se dotyčný nějakým způsobem nezapojí do řešení jeho problému je jakákoliv rada zbytečná.
Udělat to za něj? Sice to vyjde časově méně náročněji, ale nic se nezmění. Tazatel může 100x uvést, že se chce něco naučit, ale pokud se nezapojí nenaučí se nic.

Nikdy mi nejde o čas strávený při pomoci druhým, ale o výsledný efekt, potažmo efektivnost vynaloženého úsilí.
10

Děkuji za tuto diskuzi.

Edit:
vůbec by nebylo od věci občas pročít http://wall.cz/index.php?m=topic&id=8351

Stalker napsal/a:

O Žádnou chybu se nejedná....

Proč bez problémů Workbooks(zdrojSesit).Worksheets(zdrojList).Range("A1:AH122").Copy _

Workbooks(cilSesit).Worksheets(cilList).Range("A1")
projde???

náhradou Range("A1:AH122") za Range(Cells(1,1),Cells(122,34))) zhavaruje?
Range(Cells(1,1)) není až taková zhovadilost, ale souhlasím, postačuje Cells(1,1)

Borek0495 napsal/a:

A když to budu chtít ještě trochu zesložitit,...

S použitím výše uvedeného třeba:
Sub VytvorAdresar()

Dim A As String
Dim B As String
Dim C As String
Dim i As Long

A = "C:\Users\JF\Desktop\wall\"

For i = 1 To 100
B = Cells(i, 1)
If B <> Empty Then
If Len(Dir(A & B, vbDirectory)) = 0 Then
MkDir A & B
' MsgBox "Adresář vytvořen."
Else
MsgBox "Adresář " & B & " již existuje."
End If

C = Cells(i, 2)
If C <> Empty Then
If Len(Dir(A & B & C, vbDirectory)) = 0 Then
MkDir A & B & C
' MsgBox "Podadresář vytvořen."
Else
MsgBox "Adresář " & B & C & " již existuje."
End If
End If
End If
Next i

MsgBox "Hotovo"

End Sub

Stalker napsal/a:

...Vybere jakou oblast?

Po přepnutí na list správnou, ale ve spojení s objektem Workbooks().Worksheets() havaruje.

Už jsem se smířil s chybou v MSO2007 a s prostým Copy -> Paste

Začátečník napsal/a:

Ale toto funguje.

Na jaké verzi? MO 2007 (12.0) vyhazuje chybu.

Bláhově jsem se domníval, že Range(Cells(1, 1), Cells(122, 34)) === Range("A1:AH122").

Nefunguje, vrací stejnou chybu.
Problém je spíše s definicí oblasti odkud kopírovat
Range(Cells(1, 1), Cells(122, 34))Zřejmě se v tomto případě neobejdu "přepínání" mezi sešity a "klasickým" kopírováním 7
převádět to na Range("A1:AH122")se mi moc nechce.

Dobrý den, mám dotaz proč funguje makro
Workbooks(zdrojSesit).Worksheets(zdrojList).Range("A1:AH122").Copy _
Workbooks(cilSesit).Worksheets(cilList).Range("A1")

a makro
Workbooks(zdrojSesit).Worksheets(zdrojList).Range(Cells(1, 1), Cells(122, 34)).Copy _
Workbooks(cilSesit).Worksheets(cilList).Range(Cells(1, 1))

skončí chybou 1004

Díky za nakopnutí definice.

xlnc napsal/a:

...Člověk by předpokládal, že kdo dělá s Excelem, myslí hlavou....

Špatný přepoklad 5 . Jako bonus přidávám: Škola před blbostí nechrání!

=CONCATENATE()

Tipuji - "\" na konci cíle?

Radek-Klepacek napsal/a:

...co je vidět hned na první pohled v první příloze, kterou jsem zde poslal.

Hned to vidět není. Jak jsem již jednou uvedl, je lepší to řešit na úrovni vzorce nevymýšlet další zbytečné makro.
Nehodnotím kvalitu, zbytečnosti a dobu běhu makra (asi slušnej oddíl, když je na takovou blbost dost času).
Nicméně jsem si dal trochu práce najít co děláte makrem, když to zvládne "blbý" vzorec, ale proti gustu ....

V této části počítáte procenta (která chcete mimochodem nahradit pokud je výsledek chyba).
...
Range("F10").Select
ActiveCell.FormulaR1C1 = "=RC[-1]/RC[-2]"
Selection.NumberFormat = "0.00%"
...


když už nic jiného IMHO by postačovalo základní ošetření:
...
Range("F10").Select
If Range("D10").Value = 0 Then ' to je buňka RC[-2]
ActiveCell.Value = "0.00%"
Else
ActiveCell.FormulaR1C1 = "=RC[-1]/RC[-2]" ' proč sem nedáte přímo výsledek???
Selection.NumberFormat = "0.00%"
End If
...

nebo místo dělení vložit přímo ošetřený vzorec.
Excel umí hodně věcí, třeba i podmíněné formátování...

Pardon, ale tento způsob řešení, kdy se makrem dopočítávají vzorce mi přijde jako když blondýna sedící u PC počítá 3*6 na stolní kalkulačce.

Jaká je lokalizace Excelu?
Co použít text #DIV/0!

...
What:="#DIV/0!", Replacement:="0%", _
...


Jednodušší je to řešit na úrovni vzorce, nikoliv textu.

Obdoba se tu již řešila.

Zalomení textu je reprezentováno znakem LF, konec řádku pak znaky CR+LF.
Logicky tedy excel bere při importu toto zalomení jako nový řádek.
K čemu je ve zdroji zalomení? V CSV samozřejmě nemá opodstatnění a působí pouze problémy.

Řešení - nepoužívat zalomení řádků před exportem do CSV. Stejně je tam pouze HTML kód a ten si pak prohlížeč převezme bez ohledu na to, jestli je tam zalomení nebo ne.

Pánové prozatím Vám děkuji za reakce, bohužel, vzhledem ke zdravotní indispozici, se pravděpodobně nebudu moci v nejbližších 4 týdnech problematice dále věnovat.
Později se ozvu.


Strana:  1 ... « předchozí  2 3 4 5 6 7 8 9 10   další » ... 16

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