...nebo to cislo jen vynasobte * 24 (excel zobrazuje ve dnech, takze kdyz budete 1h*24=1den, coz bude zobrazeno jako 1 pri obecnem formatu cisla)
ale ALovo reseni je rozhodne lepsi...
Chapu vas umysl.
Ale...
...musel bych projit celou logiku, s jakou byl vas soubor udelan (coz zabira hrozne moc casu, ktery nemam, a neni to vubec zabavne) a pravdepodobne bych to musel cele od zakladu predelat, abych to upravil k obrazu svemu.
Necham tedy radsi na tvurci, at svuj projekt dokonci sam - a vam bych doporucil, abyste si ujasnil, co presne chcete, protoze neustale zmeny zerou hrozne moc casu lidem, kteri zde lidem radi a v podstate nic z toho nemaji...
Jde temer vsechno (kdyz clovek presne vi, co to ma za jakym podminek delat).
Nicmene, pokud to budete chtit prenaset do jineho souboru a neumite VBA, tak jsem skepticky, protoze tyto upravy budou chtit uz vice kodu (a to jsem to ani poradne nepochopil) a nerad bych se dostal do situace, ze stravim 20min u neceho, co bude k nicemu a za hodinu me budete zadat, abych to same udelal do jineho souboru.
Takze, bud vam pomuzu s finalnim souborem, kde PRESNE vysvetlite, co to ma delat (a za jakych podminek) a nejlepe ukazete, jake varianty uzivatelskeho vstupu prichazeji do uvahy...
aha, asi to uz chapu, co takhle?
Zdravim,
takovyto prvek 'rozbalovaci seznam' excel nezna.
Nicmene, pro vase pouziti by se, myslim, dalo celkem snadno pouzit vyplnenych bunek ve sloupci B.
Tedy, podminenym formatovanim jsem oznacil ve sloupci A:B jiz vybrane odrudy (šedá) a posledni vybranou odrudu (žlutá) ve sloupci I.
Pri kliknuti na konkretni odrudu ve sloupci B se tato odruda automaticky prepise pod posledni vybranou polozku ve sloupci I.
Odpadne vam tak nutnost rozklikavat rozbalovaci seznam a bude to (myslim) rychlejsi...
Prenos dat do sloupce I je pomoci makra (Change_Selection) v modulu List1.
Jestli jsem zadani spatne pochopil, omlouvam se...
Zdravim,
rekl bych, ze nejlepsi by bylo, kdyby se toho ujal autor puvodniho souboru, ale klidne se na to podivam.
Jen nevim, co tim presne chcete rict.
Jde vam o export z listu 'Nabídka'? (potom nevim, jak do tohoto listu nacitate nabidku z DB
nebo myslite export z listu 'Nabidka DB' a pak netusim, jak by se mohlo stat, ze nabidka v DB nebude (a jelikoz je vyplneni nabidky udelane pres vzorce, tak asi neni zadouci, aby sla data menit (aby melo smysl odsud prepisovat DB))
Diky za vyjasneni
takto:
=SOUČIN.SKALÁRNÍ(A1:GR1;A2:GR2)
...pro 200 sloupců
To je tak, kdyz clovek nema k dispozici zadnou ukazku, musi si pak spoustu veci domyslet...
Kazdopadne zmineny radek by mel v radku, kde zacina vase tabulka, 3 sloupce vpravo od ni vepsat hodnotu z prvniho sloupce a prvniho radku tabulky (slouzi jako urcita zarazka), predpoklada to ovsem, ze vsechny sloupce v tabulce jsou vyplnene, pokud tam bude prazda bunka, nebude fungovat spravne...
Tak jak psal AL: dva cykly
Tabulku, kterou chcete prevest je treba na zacatku oznacit! (netesoval jsem, zrejme tam budou chyby )
Sub TableTOpivot()
' vyber tabulku, kterou chces prevest
' prvni sloupec a prvni radek bude bran jako popisek - ostatni jako hodnoty s temito dvema popisky
Dim i As Long, x As Long
Dim TABULKA As Range, rTabulka As Long, cTabulka As Long
Dim cPIVOT As Long, rPIVOT As Long
Set TABULKA = Selection
rTabulka = TABULKA.Cells(1, 1).Row
cTabulka = TABULKA.Cells(1, 1).Column
cPIVOT = Cells(rTabulka, cTabulka).End(xlToRight).Column + 3
Cells(rTabulka, cPIVOT) = TABULKA.Cells(1, 1)
For i = 2 To TABULKA.Rows.Count
For x = 2 To TABULKA.Columns.Count
rPIVOT = Cells(Rows.Count, cPIVOT).End(xlUp).Row + 1
Cells(rPIVOT, cPIVOT) = TABULKA.Cells(i, 1)
Cells(rPIVOT, cPIVOT + 1) = TABULKA.Cells(1, x)
Cells(rPIVOT, cPIVOT + 2) = TABULKA.Cells(i, x)
Next x
Next i
End Sub
Aby bylo videt, co to udela:
Private Sub CommandButton1_Click()
If Rows("2:9").EntireRow.Hidden = True Then
Rows("2:9").EntireRow.Hidden = False
CommandButton1.Caption = "Skrýt řádky 2-9"
Else
Rows("2:9").EntireRow.Hidden = True
CommandButton1.Caption = "Zobrazit řádky 2-9"
End If
End Sub
nebo takto:
Private Sub CommandButton1_Click()
If Rows("2:9").EntireRow.Hidden = True Then
Rows("2:9").EntireRow.Hidden = False
Else
Rows("2:9").EntireRow.Hidden = True
End If
End Sub
@ AL: mas kazdopadne pravdu - nejak prehlidl ten pozadavek na unikatnost - timto se vsem omlouvam, sypu si popel na hlavu a zacinam znovu cist pohadku 'O Popelce'...
chapu, ze psani na telefonu neni nikterak pohodlne, ale zkuste si to po sobe aspon precist - vzdyt ani veta "jen jsem to dělal jako ve funkci normální" proste neni k pochopeni...
ok, poslete na mail
Co bych k tomu tak asi napsal:
1) prilozte prilohu
2) co znamena "řádek je vždy poslední plný"
3) Jak se chovat k radkum, bude se takto upravovat jen jeden (jak ho definovat) nebo vice (jak je definovat)?
4) jste si jisty tim popisem operaci?
Priklad:
cislo = 6.2 (tedy vetsi, nez 5.2)
(nejprve zmenit znamenko a pak odecist 5.2)
vysledek = -1 * 6.2 - 5.2 = -11,4
Nechcete nahodou vysledek -1.0?
...chci tim rict, ze ukazka je vzdy lepsi nez popis...
a ted se opravdu podivejte na funkce:
1) SUMIF a pro vice podminek SUMIFS (součty)
2) COUNTIF a pro vice podminek COUNTIFS (počty)
ulehci to praci...
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.