Funkčnosť približnú k popisu má iba ActiveX ComboBox.
Ano, len pozor, vzorec musí byť EN aj s EN oddeľovačmi. Teda nie CZ.
Preklad napr. tu.
V niektorých prípadoch môžete navyše použiť na vykonanie vzorcov EVALUATE("=vzorec")
Aha, to je myslené tak, že zdroj je vybraný pred makrom. V makre sa vyberá cieľ... Som to pochopl opačne, že InputBox vyberá zdroj, a cieľ je vedľa. Preto som písal.
Sorry...
Namiesto
For Each Bunka In Selection
musí byť
For Each Bunka In Q
a namiesto
Q.Resize(ArrList.Count).Value = ...
zase
Q.Offset(0, 1).Value = ...
Ale Vy si môžete určiť aj ktoré stĺpce sa majú ignorovať.
Ak chcete ešte k tomu aj selektovať na základe nejakých podmienok aj riadky, dá sa použiť PQ, kde bude výstupom už učesaná Tabuľka, alebo CSV rozobrať makrom v cykle a pomocou Split().
Áno dobrý postreh, elektromer sa mení celkom bežne. Tak ja neviem, napr. by sa mohol nový elektromer dať do zdroja do nových stĺpcov ale s rovnakou firmou a pokračovalo by sa v novom mesiaci. Konečné súčty by sa museli upraviť vzorce na nejaké maticové sčítanie. Ak to bude treba porozmýšľam nad tým...
Dajte si niekam maticový vzorec (Ctrl+Shift+Enter), a natiahnite ho na rovnakú výšku.
=IFERROR(INDEX(STATY;SMALL(IF(VITAZSTVA>ZAPASY/2;ROW(STATY)-MIN(ROW(STATY)-1));ROW(A1)));"")
=IFERROR(INDEX(STATY;SMALL(KDYŽ(VITAZSTVA>ZAPASY/2;ŘÁDEK(STATY)-MIN(ŘÁDEK(STATY)-1));ŘÁDEK(A1)));"")
Definované názvy pre zjednodusenie:
STATY
=OFFSET(Hárok1!$A$2;;;COUNTIF(Hárok1!$A$2:$A$100;"<>"))
=POSUN(Hárok1!$A$2;;;COUNTIF(Hárok1!$A$2:$A$100;"<>"))
VITAZSTVA
=OFFSET(STATY;;3)
=POSUN(STATY;;3)
ZAPASY
=OFFSET(STATY;;2)
=POSUN(STATY;;2)
Alebo KT + dátový model.
Príklad
Som len na mobile. Tak len zbežne. PF je Podmienené formátovanie. Milión radkov som si všimol tuším na posuvníku. Normálne sa tam posuvníkom nedostanete. Ako potvrdenie je veľkosť suboru. Kameň úrazu nieje Definovaný názov, ale ten maticový vzorec v stĺpci A.
Odpoveď môže byť všeličo. Luu sa neunúva upresniť, čo tým myslela.
AB a BA sú rôzne alebo je to to isté? Ak budem robiť Športku, tak kombinácia 6,16,26,36,46 je predsa to isté ako 36,6,46,16,26. Ale heslo je predsa niečo úplne iné.
Je viac členov ako miest? Teda napr. na 3 miesta vylúskať 26 písmen? Alebo len 3?
Za výsledok je považovaný až vtedy ak dosiahne max počet? (A vs ABC pri maxime 3)
"bez opakování" znamená čo? Že nemôže byť AA? Alebo AB, BA?
Podľa toho čo potrebujete, sú rozdiely totiž veľké.
A A A
B B B
C C C
AA AB AB
AB AC AC
AC BA BC
BA BC ABC
BB CA
BC CB
CA ABC
CB ACB
CC BAC
AAA BCA
AAB CAB
AAC CBA
ABA
ABB
ABC
ACA
ACB
ACC
BAA
BAB
BAC
BBA
BBB
BBC
BCA
BCB
BCC
CAA
CAB
CAC
CBA
CBB
CBC
CCA
CCB
CCC
Problém je Key:=Range(). Tam nemôžete dávať všetky stĺpce, ale iba stĺpec A, veď podľa neho chcete radiť.
Úprava aj iných častí:
Sub Uprava_exportu()
Dim Riadkov As Integer
Dim Oblast As Range
'
'upravuje export z georga rovno do excelu
'tu sa upraví podľa potreby a toto sa prenesie do zošita môj dom xxxx
'+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
With ActiveWorkbook.ActiveSheet
'Počet obsadených riadkov
Riadkov = .Cells(.Rows.Count, 1).End(xlUp).Row - 1
If Riadkov = 0 Then MsgBox "Žiadne dáta.", vbExclamation: Exit Sub
'Prehádže a vymaže stĺpce tak, aby zodpovedali hlavičke v liste "hosp"
'Vloží hlavičku podľa hosp
.Range("A1:J1").Value = Array("Dátum", "účet", "Text z výpisu", "Názov protiúčtu z výpisu", "Protiúčet z výpisu", "VS", "Popis z výpisu", "analytika", "Užívateľ / môj popis", "")
'-------- Triedenie ------------
'od 1. do 31.
'určíme oblasť triedenia
Set Oblast = .Cells(2, 1).Resize(Riadkov, 9)
.Sort.SortFields.Clear
.Sort.SortFields.Add2 Key:=Oblast.Columns(1), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With .Sort
.SetRange Oblast '(oblast)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
'**** KUF ******************************
End Sub
1. Odstráňte maticovosť toho vzorca. To bude kameň úrazu.
Ďalej už iba poznámky:
2. Dúfam, že nezoraďujete aj list HARMONOGRAM.
3. Veľkosť súboru je daná "použitím" milióna riadkov. Stavím ľavú topánku, že toľko riadkov nepoužívate.
4. Vzorec v definovanom názve oblastVYHLEDAVANI divne používa zbytočné množstvo MATCH/POZVYHLEDAT.
5. Vzorec v A neošetruje možnosť nesprávneho zadania čísla mesiaca, treba použiť inak to IFERROR.
6. Ak má súbor použiť ktokoľvek s iným ako CZ Office, treba nahradiť
HODNOTA.NA.TEXT($D2;"RRMMDD")
za
ZPRAVA(ROK($D2);2)&HODNOTA.NA.TEXT($D2;"MMDD")
Lebo "RRMMDD" pozná iba CZ. Také SK, EN to má "YYMMDD"
7. maličká úprava PF
Žiadna príloha tu nie je. Ak je to XLSM, musíte ho zabaliť do ZIP/RAR. Ak je príliš veľká, orežte rozumne data na <300 KB (nepamätám si presne veľkostný limit).
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.