Ten filter vypíše všetky jedinečné hodnoty, a tak som vzorcom zabezpečil, aby boli hodnoty v skrytom stĺpci B iba "Viditeľné" alebo "Neviditeľné". Po kliknutí sa reaplikuje. Vpravo hore je "Vymazať filter", a ten ukáže všetko.
Čo k tomu dodať ?...
Čo znamená "pod tlačítkom"?
Sub PodTlacitkom1()
With ActiveSheet.Buttons(Application.Caller).TopLeftCell
Select Case .Value
Case 1: .Value = 2
Case 2: MsgBox "Nazdar Fero, ako sa máš?", vbQuestion
Case Else:
End Select
End With
End Sub
Sub PodTlacitkom2()
With ActiveSheet.Buttons(Application.Caller).TopLeftCell.Offset(1, 0)
Select Case .Value
Case 1: .Value = 2
Case 2: MsgBox "Nazdar Fero, ako sa máš?", vbQuestion
Case Else:
End Select
End With
End Sub
Podľa úhľadného screenshotu (rovné čiary) usudzujem, že ide o PDF vytvárané ako export z nejakého SW. Teda nie o scan. V tom prípade, sa dá použiť presne také riešenie, ako ste to mal. Otvorí sa manuálne PDF, Ctrl+A, prepnúť do Excelu, kliknúť na čudlík. Makro vloží dáta do pomocného listu. Z tohto listu sa potom text spracuje makrom, ktoré musí byť špecializované na presnú formu, presné textové značky oddeľujúce dané údaje, presné kombinácie či postupnosti týchto značiek. Toto isté som už nedávno jednému pánovi robil. Nemôžem poskytnúť. Ak mi pošlete na mail PDF, možno, ale skutočne iba možno, sa na to pozriem. Nemám totiž ani čas, ani chuť, ani zdravie na veľké projekty...
To sú polia údajov. Je to rýchlejšie ako ísť bunku po bunke. Je to takto pochopiteľnejšie?
Ja to Vaše rozloženie nechápem.
1. Vždy sa to musí vpratať do 34 riadkov vrátane?
2. Medzera sa pridáva aj pred prvú položku X?
3. Súvisí s 2. - vybrané položky sa majú akoby roztiahnuť na celú výšku 34 riadkov? Teda na prvom bude položka a na poslednom bude položka?
Ukážte ako má vyzerať manuálne urobený výsledok konkrétne tohto rozloženia, a potom ešte jeden, kde budú vybrané napr. iba 2 položky. Aby som porozumel, ako presne chcete aplikovať tie medzery...
Inak toto sa dá urobiť aj vzorcom, na to makro nie je potrebné.
Pr. načítania oblasti buniek do poľa:
Sub Kontrola_hodnoty()
Dim Pole(), Riadkov As Long, i As Long, MSG As String
With Worksheets("Hárok1")
Riadkov = .Cells(Rows.Count, "A").End(xlUp).Row - 1
If Riadkov = 0 Then MsgBox "Chábajú data.", vbExclamation: Exit Sub
Pole = .Range("A2:F2").Resize(Riadkov).Value
End With
For i = 1 To Riadkov
If Pole(i, 6) < 90 Then
MSG = MSG & vbNewLine & Join(Array(Pole(i, 1), Pole(i, 2), Pole(i, 3), Pole(i, 4), Pole(i, 5), Pole(i, 6)), " / ")
End If
Next i
MsgBox IIf(MSG = "", "všetko OK", "Tieto hodnoty sú pod limitom <=90" & MSG), IIf(MSG = "", vbInformation, vbCritical)
End Sub
Sub Losuj()
Dim M(), Radku As Long, Zac As Double, ML As String
With ThisWorkbook.Worksheets("List1")
Radku = .Cells(Rows.Count, 1).End(xlUp).Row
ReDim M(1 To Radku, 1 To 1)
Select Case Radku
Case 1: ML = .Cells(1, 1).Value2
Case Else: M = .Cells(1, 1).Resize(Radku).Value2
Zac = Now() + TimeValue("00:00:05")
While Now() < Zac
ML = M(Int(Rnd() * Radku) + 1, 1)
.Cells(3, 5).Value2 = ML
DoEvents
Wend
End Select
.Cells(3, 5).Value2 = ML
End With
End Sub
=SUMPRODUCT($A$2:$A$5;--(COUNTIF(OFFSET($B$2:$D$2;ROW($A$2:$A$5)-2;);"Roman")*($E$2:$E$5="modrá")*($F$2:$F$5="obdelník")>0))
=SOUČIN.SKALÁRNÍ($A$2:$A$5;--(COUNTIF(POSUN($B$2:$D$2;ŘÁDEK($A$2:$A$5)-2;);"Roman")*($E$2:$E$5="modrá")*($F$2:$F$5="obdelník")>0))
V E4 nie je "modrá" ale "modrá " !
PS: V tom mojom prvom CZ ekvivalente som zabudol preložiť ROW na ŘÁDEK, a div sa svete, nikto sa nesťažoval
Ak budete vo VBA vkladať vždy EN vzorec do .Formula, problém nebude v žiadnej jazykovej mutácii Excelu. Naopak, ak budete vkladať akýkoľvek iný jazykový ekvivalent vzorca do .FormulaLocal, očakávajte problémy. To SUMIFS je mätúce, lebo je v EN aj v CZ rovnaké. Lepšie je to vidieť na tom IF. U Vás znamená .FormulaLocal CZ vzorce, vkladáte tam CZ ekvivalent. No u kolegu je .FormulaLocal predsa EN. Tam mu nemôžete vkladať CZ vzorec. Používajte .Formula + EN vzorec. Nebude problém. Nezabudnite, že oddeľovač parametrov je v EN verzii "," nie ";" ako u nás (a to mi je tiež divné, že kolegovy s EN ide vzorec s ";"...),
Do prčic nerefreshol som stránku skôr. No už to dám.
To je triviálne. Len je dobré priložiť prílohu s príkladom. Na akom mieste dáta sú, v akom formáte, koľko pod sebou, do akej šírky, podľa ktorého stĺpca sa určuje začiatok a koniec, v ktorom stĺpci je ANO/NE, kopírovať celé bunky aj s formátom, ale iba hodnoty ... Toto nie je hra "uhádni na čo myslím". Pre vloženie prílohy sa musíte zaregistrovať.
A čo tie dáta po skopírovaní, ostanú alebo sa z pôvodného umiestnenia zmažú, veľa otázok.
=SUMPRODUCT($A$1:$A$3;--(COUNTIF(OFFSET($B$1:$D$1;ROW($A$1:$A$3)-1;);H1)>0))
=SOUČIN.SKALÁRNÍ($A$1:$A$3;--(COUNTIF(POSUN($B$1:$D$1;ROW($A$1:$A$3)-1;);H1)>0))
Dá sa to napr. aj naindexovať s tým, že počíta s rozširovaním dátumov vpravo aj riadkov dole. Vzorce treba natiahnuť na dostatočnú veľkosť. Možno by bolo ale lepšie napísať to v PowerQuery.
To predsa nebude problém. Ak máte dátumy na rovnakých riadkoch, pridajte si stĺpec Index, vyfiltrujte iba potrebné riadky. Ďalšie potrebné dáta dajte načítať v US formáte. Budete mať z toho automaticky normálny dátum, normálne ceny, normálne čísla. To je ťažko keď nedáte príklad.
Tá DB to exportuje do súboru? Môžete priložiť taký súbor (alebo iba časť) so zmenenými bezcennými dátami? Ak to PQ ťahá rovno z DB, bez prestupného súboru. Tak to načítajte, a také hrubé dáta sem postnite ako obyč. Tabuľku. Pokúsime sa Vám na ňu namontovať také PQ, ktoré to umravní, a budete mať použiteľné dáta. Samozrejme dodajte príklad toho, aký výsledok z priloženej Tabuľky požadujte. V PQ nie som zrovna doma, ale toto by sa dalo ...
PS: 3 strany, niekoľko žiadostí o prílohu, a nič ... to nie je dobre
O PQ ste sa doteraz nezmienil! Veď tie dátumy umravnite rovno v PQ. A je po starostiach. A to s tým prvým riadkom mi nejde do hlavy. Ak v dátach prvý riadok nieje vôbec, tak sa dá v PQ vynechať. Ale na to treba 2 prílohy priložiť : zdrojový súbor, a požadovaný výsledok. Dáta skráťte a anonymizujte.
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.