Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  17 18 19 20 21 22 23 24 25   další » ... 289

Tam som použil myslím príkaz Table.Combine, ktorý spôsobí spojenie Tabuliek pod seba s tým, že sa "zlícujú" rovnako nazvané stĺpce. A na to treba tú predprípravu názvov, ktorú Vám ale ťažko urobíme bez vzorového súboru. V Poznámkovom bloku ak si otvoríte ten XML, mohli by ste sa v ňom vyznať natoľko, aby ste vyrobil vymyslené 2 riadky dát. Nejde nám samozrejme o dáta, ale o štruktúru. Potom by bodol manuálne vyrobený požadovaný výsledok z tých 2 vymyslených riadkov dát. A snáď sa nám to poddá :)

Napr. takto?

Ten Kod sa môže v spodnej tabuľke aj opakovať?
Kod je číslo alebo znakočíslo?
Hore vypísať iba prvých 5?

Všetko píšem teraz len z brucha, bez skúšania.

"...Můj kód házel chybu..."

Myslíte ktorý?
Ten prvý práveže vyzerá priechodne...

Ten druhý hodí chybu:
-za 1. lebo je tam EN vzorec aj EN oddeľovač parametrov,
-za 2. lebo to, čo by vrátil "With" (ak by tam bol lokáln vzorec) je už FormatConditions, teda nemôžete vo FormatConditions hľadať ešte .Selection.FormatConditions(1).Interior. Daný objekt takú vlastnosť nemá.

To čo chcete dosiahnuť, teda zafarbiť všetky bunky v I:AV, ak v $I$1>$AV$1 je víkend, je práve najlepšie urobiť pomocou PF.
Druhá možnosť, sledovať makrom zmenu v bunkách $I$1>$AV$1, a vykonať manuálne vyfarbenie buniek, mi príde ako úplná zbytočnosť.

Takže tá funkcia si má vo VBA prečítať posledný list v poradí? Lebo takú funkcionalitu Excel inak nemá.
Alebo sú tie listy nazývané nejakým pravidlom? Napr. DD.MM.YYYY? Potom sa dá aj cez INDIRECT/NEPŘÍMÝ.ODKAZ vzorcom.
Samotné určenie času potom riešiť podmienkou IF/KDYŽ (v závislosti na predchádzajúcej odpovedi prípadne matica), ale Vy ste nenapísal jediné vodítko, ktorým smerom sa ubrať. Doplňte.

EDIT: Tu máte niektoré z príkladov, ako sa dá Váš dotaz vyložiť. Rôzne.

To je maticový vzorec (Array Formula), ten sa nezadáva iba ENTER ale pomocou Ctrl + Shift + ENTER.

Navyše pri presúvaní vzorca alebo jeho multiplikovaní, je vhodné nastaviť aj potrebné oblasti ako Absolútne odkazy (nie ako Relatívne). Rozdiel si určite dokážete nájsť :)

Pridávam aj pokus s pomocou PowerQuery.

Mrknite napr. na stackoverflow
Skúsil som odtiaľ túto:
Function Translate$(sText$, FromLang$, ToLang$)
Dim p1&, p2&, url$, resp$
Const DIV_RESULT$ = "<div class=""result-container"">"
Const URL_TEMPLATE$ = "https://translate.google.com/m?hl=[from]&sl=[from]&tl=[to]&ie=UTF-8&prev=_m&q="
url = URL_TEMPLATE & WorksheetFunction.EncodeURL(sText)
url = Replace(url, "[to]", ToLang)
url = Replace(url, "[from]", FromLang)
resp = WorksheetFunction.WebService(url)
p1 = InStr(resp, DIV_RESULT)
If p1 Then
p1 = p1 + Len(DIV_RESULT)
p2 = InStr(p1, resp, "</div>")
Translate = Mid$(resp, p1, p2 - p1)
End If
End Function

Tak skúste pokus numero uno

???
A ako zistíme, na ktorý deň pripadá koľko hodín?
Napr. Franta 10.-13. - 4 dni - 44 hodín - 11 hodín na deň?
Lojza má v jeden deň 8 a v druhý nenaväzujúci iba 4
Pepa 15. - 20. - 6 dní - 48 hodín - 8 hod na deň

Ako sa ten súčet hodín v stĺpci E delí na jednotlivé dátumy?

Aj tak neviem naisto, či potom dobre rozumiem...:
Sub Vymaz_B_AA()
Dim R As Long, i As Long, B(), rngBAA As Range, HLADAJ

HLADAJ = 703320

With ThisWorkbook.Worksheets("List1")
R = .Cells(Rows.Count, 2).End(xlUp).Row
B = .Cells(1, 2).Resize(R).Value2

For i = 1 To R
If B(i, 1) = HLADAJ Then
If rngBAA Is Nothing Then
Set rngBAA = .Range("B1:AA1").Offset(i - 1, 0)
Else
Set rngBAA = Union(rngBAA, .Range("B1:AA1").Offset(i - 1, 0))
End If
End If
Next i
End With

If Not rngBAA Is Nothing Then rngBAA.ClearContents
End Sub

Akurát som odoslal EDIT do príspevku. Mal som preklep v oblasti C1:AA1 vs B1:AA1.
To čo upravujete Vy, teda AB na AA, neodpovedá požiadavke, ktorú ste napísal, a to, že chcete AB hodnoty ponechať.
To .Cells(i, "AB") v kóde slúži práve na to, aby sa uložili oblasti, ktoré sa majú previesť neskôr na hodnoty. Nie zmazať ani nie ponechať vzorec. V AB je totiž vzorec, nemôžete mu zmazať zdrojové hodnoty C,B,K,AA, nezostane mu výsledok.

Dáta v stĺpci AB je možné zanechať iba za predpokladu konverzie vzorca, ktorý sa v AB nachádza na hodnotu. Teda ten výpočet bude v AB (v daných riadkoch) ďalej nefunkčný.
Sub Vymaz_B_AA()
Dim R As Long, i As Long, B(), rngCAA As Range, rngAB As Range, rng As Range, HLADAJ

HLADAJ = 703320

With ThisWorkbook.Worksheets("List1")
R = .Cells(Rows.Count, 2).End(xlUp).Row
B = .Cells(1, 2).Resize(R).Value2

For i = 1 To R
If B(i, 1) = HLADAJ Then
If rngCAA Is Nothing Then
Set rngCAA = .Range("B1:AA1").Offset(i - 1, 0)
Set rngAB = .Cells(i, "AB")
Else
Set rngCAA = Union(rngCAA, .Range("B1:AA1").Offset(i - 1, 0))
Set rngAB = Union(rngAB, .Cells(i, "AB"))
End If
End If
Next i
End With

If Not rngAB Is Nothing Then
For Each rng In rngAB.Areas
rng.Value2 = rng.Value2
Next rng
rngCAA.ClearContents
End If
End Sub

EDIT:
V oblasti som urobil preklep. Namiesto C1:AA1 má byť samozrejme B1:AA1. V prílohe aj v kóde som to opravil.

Nemám tu teraz CZ Excel, ale mne sa zdá, že do PF ako Formula1 musí ísť vo VBA lokálny vzorec.
Sub PF()
With Worksheets("Hárok1").Range("I:AV").FormatConditions.Add(Type:=xlExpression, Formula1:="=WEEKDAY(I$1;2)>5").Interior
.PatternColorIndex = 0
.Color = RGB(255, 230, 153)
End With
End Sub

A ešte ma napadá, určite myslíte I$1 a nie náhodou $I1 alebo I1 ???

PowerQuery, stačí iba Ctrl + Alt + F5, alebo Data - Obnoviť všetko, alebo pravý klik do Tbl - Obnoviť


Strana:  1 ... « předchozí  17 18 19 20 21 22 23 24 25   další » ... 289

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