Verzia Office?
To pridanie jedného riadku - to ide iba o jednorazovú záležitosť? Alebo vždy pri nejakej akcii (makro)?
Ako často budete meniť tých obchodníkov ako často pridávať/uberať v zozname)? Ide o to, že by bolo lepšie na takýto sumár použiť KT.
Prečo je v tej tabuľke vpravo všade r. 2017?
Šanca tu je. Ja to asi cez týždeň skúsim. Teraz som si tam vytvoril účet. Musím to reálne vyskúšať, lebo nikto ste mi to nevysvetlil, ako je možné, že Vás zaujíma zmena názvu účtu, keď tú zložku máte synchronizovanú. Teda by ste ju mali mať všetci na svojom PC pod svojim účtom. Keď to budem mať sprevádzkované (musím si ešte raz prečítať celé vlákno) ozvem sa.
Tieto 2 pokusy Vám prejdú?
Sub pokus1()
MsgBox Range("Tabulka1[příjmení, jméno]").Address
End Sub
Sub pokus2()
MsgBox Range("Tabulka1[" & Worksheets("DATABAZE ZAMESTNANCU").Range("B1").Value2 & "]").Address
End Sub
Enterprise verziu k dispozícii nemám. Každopádne chýba mi odpoveď a) aj text chyby (screenshot) c).
Pre skok na bunku aj so scrolovaním nahradiť daný riadok za tento
Application.Goto Range("Tabulka1[příjmení, jméno]").Find(What:="*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False), True
a) Spúšťate to v tej mojej prílohe alebo vo Vašej ?
b) Verzia Office (rok, jazyk, 32/64 bit) ?
c) A ešte tú chybu, čo to hodí uveďte.
Pretože Office 2019 x64 SK Pro - bez problémov.
API, 1. odkaz cez Google, odskúšal som na E2019x64 Pro SK:
Private Declare PtrSafe Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Const kCapital = 20
Private Const kNumlock = 144
Public Function CapsLock() As Boolean
CapsLock = KeyState(kCapital)
End Function
Public Function NumLock() As Boolean
NumLock = KeyState(kNumlock)
End Function
Private Function KeyState(lKey As Long) As Boolean
KeyState = CBool(GetKeyState(lKey))
End Function
Sub pokus()
MsgBox "CL : " & CapsLock & vbNewLine & _
"NL : " & NumLock
End Sub
EDIT: Jaj aha, Vy to chcete nastaviť, nielen prečítať...
To Vážne? Akú chybu to napíše? To si myslíte, že som jasnovidec? Áno som! A stavím sa, že tam nemáte to, čo popisujete, že tam máte. Teda, že stĺpec v Tabuľke (nie tabuľke) sa volá "příjmení, jméno".
Šmarjá ... čo znamená "Nefunguje" ???
"Zdrojové formáty jsou různé" - ale veď jasné, veď preto to riešime univerzálne, a nie napevno.
"nějaké hodnoty v buňkách mimo rámec řádků" - áno správna dedukcia, riešenie je jednoduché.
Chýba mi od Vás odpoveď na to, čo sa pýtam.
Sub FormatVstup()
MsgBox wsImport.Range("B2").NumberFormat
End Sub
Vložíte data do listu Import, a spustíte toto makro FormatVstup (samozrjeme s adresou tej bunky, ktorá robí problém s dátumom). Aký je to formát?
Obdobu predchádzajúceho makra
Sub FormatVystup()
MsgBox ActiveWorkbook.ActiveSheet.Range("B2").NumberFormat
End Sub
spustite po otvorení hotového súboru v ktorom je ten údaj uložený (ten problematický), so správnou adresou, ktorá naň ukazuje. Odpoveď je?
Tieto 2 makrá (FormatVstup, FormatVystup) spustite a referujte na tom mojom testovacom súbore a mojich testovacích dátach a výsledku. A potom na svojom súbore a svojich testovacích dátach a výsledku. Chcem všetky 4 odpovede.
Predpokladám konzistentné formáty pre celý stĺpec. Opakujem, čo som písal, lebo nečítate a/alebo nereagujete. To, aký bude bunkám nastavený formát určujem podľa 1. dátovej bunky pod hlavičkou ! Predpokladám, že nie sú dáta pod sebou takto:
číslo
text
dátum
text čo nie je dátum
desatinné číslo
text
...
ale že sú pod sebou takto:
číslo
číslo
číslo
...
ďalší stĺpec
text čo nie je dátum
text čo nie je dátum
text čo nie je dátum
...
ďalší
dátum
dátum
dátum
...
Čakám odpoveď, na všetky otázky.
Vami popisovaný problém s prevodom na dátum totiž nedokážem navodiť. Niečo nerobíte alebo neuvádzate správne.
Pred
.Protect ...
dajte
Range("Tabulka1[příjmení, jméno]").Find(What:="*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Select
Aj v tom mojom pokusnom súbore Vám to "3758/4/11" prevedie na dátum, alebo iba na Vašich reálnych dátach? Mne na E2019x64 SK Pro to funguje tak ako chcete. Aký formát máte v prvej dátovej bunke toho stĺpca (teda v 2. riadku daného stĺpca).
MsgBox ActiveSheet.Range("B2").NumberFormat
Skúste
Môžete si vytvoriť iba prepojenie (bez výslednej tbl) - ten Váš bod "9.1. Vytvoří list s dotazem", a potom vyvolať neskôr tak, že na karte "Údaje" - "Dotazy a pripojenia" - vpravo kliknete pravým na dotaz (zatiaľ iba to prepojenie) a dáte "Načítať do" - a tam si vyberiete nový list alebo bunku alebo dátový model či KT.
Hmm, no to nebude také ľahké. Sú tam záludnosti, napr. skutočný dátum to potom uloží ako číslo. Každopádne v prvom makre je obabrávka tak, že sa zmení formát najskôr na text, vložia sa data, a následne sa formát znovu zmení na Všeobecný/Obecný/General. Ale spomínaný negatívny efekt.
Druhé makro je už väčšia ojebabrávka. Urobí si kolekciu formátov (pre prípadnú zmenu väčšieho počtu stĺpcov na rovnaký formát). A iba pri General urobí predchádzajúcu popisovanú zmenu na text a naspať na General. Dáta teda ostanú v pôvodnom formáte (podľa prvej bunky v stĺpci).
Ak by ani toto nestačilo, tak urobíme klasickú metódu Copy + Paste. To bude najpomalšia metóda, ktorej som sa chcel najskôr vyhnúť (preto relatívne zložitá kolekcia+pole).
- Dám kurzor niekam do Tabuľky DataTab
- "Údaje" - "Z tabuľky alebo rozsahu" - vytvorí sa základné načítanie Tabuľky do PQ
- Zmažem zatiaľ zbytočný automatický krok "Zmenený typ" pomocou "X"
- Označím pomocou Ctrl dva kontingenčné stĺpce "Hospodářské středisko" a "Registrační značka"
- "Transponovat" - "Zrušit kontingenčnosť stĺpcov" - podmenu "Zrušiť kontingenčnosť ostatných stĺpcov"
- Vo vzniknutom kroku "Zrušenie kontingenčnosti ostatných stĺpcov" vznikli 2 stĺpce. "Atribút" sú hlavičky doterajších dátových stĺpcov, teda názvy mesiacov. A "Hodnota" sú hodnoty.
- Názvy týchto dvoch stĺpcov sa mi nepáčia tak ich zeditujem na "Měsíc" a "Částka" priamo v tom kroku v riadku na písanie príkazu, hore nad tabuľkou. Dám Enter na potvrdenie.
- Stĺpec "Měsíc" presuniem potiahnutím pred 1. stĺpec, aby som mal požadované poradie stĺpcov
- Oznnačím pomocou Ctrl 3 stĺpce "Měsíc", "Hospodářské středisko", "Registrační značka" a na karte "Domov" - "Typ údajov" - "Text"
- Označím stĺpec "Částka" a na karte "Domov" - "Typ údajov" - "Desatinné číslo"
- Vpravo hore si môžem dať rozumný názov pre dotaz. Bude sa tak volať aj Tabuľka.
- Na karte "Domov" - "Zavrieť a načítať" - vytvorí nový list s dotazom, a podmenu "Zavrieť a načítať do" umožní nevytvárať list, ale vybrať miesto vloženia výsledku (napr. aktuálny list nejaká bunka), alebo iba vytvoriť prepojenie pre KT, prípadne vložiť dáta dotazu do Dátového modelu na ďalšie spracovanie. Teda výsledok dotazu nemusí byť zobrazený.
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.