Mno - při snídani.
Nemůžu vyzkoušet, nemám data a definici těch oblastí bych asi udělal jinak, ale v zásadě
Při psaní kódu VBA musíte v Excelu přemýšlet, jak byste to udělali v listu - tam byste použili (jak píše Poki) Ctrl+H (.Find) nebo POZVYHLEDAT(MATCH) nebo COUNTIF.
Tak proč to v kódu potom řešíte pomocí cyklů (není to tak dávno, co jsem to vytýkal i Palooo) a ne stejně.
Sub Export_do_databaze()
ActiveWorkbook.Save
Dim zdroj As String
zdroj = ActiveWorkbook.Name
Dim c_Nabidky As String
c_Nabidky = Worksheets("Nabídka").Cells(13, 18).Value ' Číslo nabídky
With Worksheets("Databáze nabídek")
If Application.WorksheetFunction.CountIf(Range(.Cells(2, 2), .Cells(Columns(1).Rows.Count, 2).End(xlUp)), c_Nabidky) > 0 Then
' If Application.WorksheetFunction.CountIf(Range(.Columns(2)), c_Nabidky) > 0 Then
MsgBox "V databázi už tato nabídka existuje, je nutné změnit číslo cenové nabídky?", vbOKOnly, "Nabídka už existuje"
Else
Dim radek As Integer
radek = Worksheets("Databáze nabídek").Cells(Columns(1).Rows.Count, 2).End(xlUp).Row + 1
Worksheets("Databáze nabídek").Cells(radek, 2) = Worksheets("Nabídka").Range("R13") 'Číslo nabídky
Worksheets("Databáze nabídek").Cells(radek, 3) = Worksheets("Nabídka").Range("K16") 'Datum vystavení
MsgBox "Export do databáze byl ukončen", vbOKOnly, "Info"
End If
End With 'Worksheets("Databáze nabídek")
End Sub
Tomu zbytku kódu bez dat nerozumím, takže si to musíte doladit sám.
@Palooo
urobil som to podla toho ake som mal vedomosti
To je v pořádku, jen je potřeba hledat taková řešení, aby zahrnovalo i možné vlivy zvenčí. A na to se konstanta nehodí.
Nejlepší ovšem bude využít událost
Private Sub QueryTable_AfterRefresh(Success As Boolean)
Viz příloha
Mno když se kouknu na toto řešení, tak musím reagovat
If Target.Cells.Count = 288 Then
Ve chvíli, kdy se na stránkách ta tabulka nějak změní, přestane to fungovat, protože je zde konstanta 288 buněk a to je veliká nejistota
Další, málo pravděpodobná, ale přece jen možnost, že někde upravíte 288 buněk a čas se upraví v nesprávnou chvíli, kdy se to netýká dané tabulky
Proto je třeba využít QueryTable, např. takto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = ActiveSheet.QueryTables(1).ResultRange.Address Then
Range("B2").Value = Now
End If
End Sub
Ikdyž myslím, že aktualizovat co 5 minut je docela sranda
Mno ono to je zase o tom samém (a pořád dokola)
Pokud správně rozumím:
Je vytvořen list A s denními záznamy v nějaké struktuře. A z důvodu uchování dat je pak chceme zálohovat na list B ve struktuře databáze.
A teď se budu opakovat jako už několikrát:
Proč si nezadáte data do listu B (databáze) a list, který nyní máte vstupní bude výstupní?
Proč? Protože vše pak bude snazší a těch výstupů si budete moci udělat kolik chcete a jak chcete.
Ano. Je to možné.
A protože není příloha, tak si to představím a řeknu - Kontingenční tabulka
Souhlasím s ALem a obdivuji ostatní, že si na základě zadání troufli navrhnout řešení ;))
Udela ze A1 projede sloupcem C a pri shode do aktualni bunky nakopiruje hodnotu A1 ale jabych potreboval aby to pri SHODE A1aCx nakopiroval do bunky A1 hodnotu
vzorec nic nekopíruje, pouze vrací výsledek a vždy do buňky kde se nachází
takže do buňky A1 jedině tehdy když je v A1 a to by potom odkazoval sám na sebe
http://excelplus.net/forum/viewthread.php?thread_id=848&pid=3676#post_3676
Opičák napsal/a:
pro excel kde není fce ISOWEEKNUM, lze použít výpočet
=CELÁ.ČÁST((A1-SUMA(MOD(DATUM(ROK(A1-MOD(A1-2;7)+3);1;2);{1E+99;7})*{1;-1})+5)/7)
WEEKNUM počítá správně
pouze musíte odečíst 1 když 1.1. je pá, so nebo ne
v tom případě se číslo prvního týdne v kalendáři rovná číslu posledního týdne minulého roku.
Palooo napsal/a:
ja sa zas divim ze preco tieto funkcie prekladaju do jazykov :)
Mno ano, jsme ticho. Já nemám nic s androidem, takže radit nemohu, jedině takové ty obecné rady stylu - proč excel, když android má určitě aplikace pro katalogizaci videí.
A taky nevíme, jakým způsobem se to otvírá - pokud to neumožňuje filtraci dat, tak ....
Takže ano, mlčíme.
V každém případě ano - když už tak na 1 list data a potom z něj kopírovat na další a ne naopak.
Sám jste si odpověděl
Asi by bylo nejlepší, aby se text zkrátil o určitý počet znaků z leva.
=ZLEVA(A1;32)
Já jen technická poznámka - nezkoumal jsem ani jedno řešení, které tu je, třeba to tak někdo udělal.
Proč by měly být záznamy na několika listech. Dejte to na jeden a rozlište je novým sloupcem Kvalita videa
Ale stejně zase (obecné zase) neposlechnete a budete si komplikovat život několika listy
ledinka napsal/a:
jeste me napadlo skryvani radku, to by melo vyhodu, ze uvidim jen zovrazovane radky tabulky, ale to uz je pak na makro. jeste uvidim...
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.