Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  63 64 65 66 67 68 69 70 71   další » ... 289

Iba stĺp D a K? Tomu neverím, skúšal som to. Dajte si BreakPoint (klik na ten sivý zvislý pásik vľavo vedľa kódu) na tom riadku so Select, tam sa Vám makro pri každom priechode pozastaví. Uvidíte.

Robil by som to tiež radšej Offset-om ako marjankaj. Tam sa menia tie stĺpce posúvaním prvého o "i" stĺpcov, a to v prípade ak sa nejedná o i=1 alebo i=2 (čo sú nechcené stĺpce E a F. Proste posúva sa oblasť D4:D200 o "i" stĺpcov vpravo.

Jednoducho parametrom. Toto je najjednoduchší príklad.
Sub Spracuj_Stlpec(Stlpec As String)
Range(Stlpec & "4:" & Stlpec & "200").Select
End Sub


Sub Makro_makricko()
Dim Stlpy() As String, i As Integer
Stlpy = Split("D,G,H,I,J,K", ",")
For i = 0 To UBound(Stlpy)
Spracuj_Stlpec Stlpy(i)
Next i
End Sub

Alebo priamo v cykle.
Každopádne keď vidím, že tam máte Select, tak to makro asi nebude optimalizované, však ?

Napr.:
Excel.CurrentWorkbook(){[Name="názov Tabuľky s menom súboru"]}[Content]{0}[Názov stĺpca v Tabuľke s menom súboru]

Tak pokus. Vyrobil som si súbor pre import s 20K riadkami, DB som zaplnil tiež 20K. Asi 25 ID sa tam nenachádzalo. Trvanie cca 5 sek. Pôvodne som existenciu ID prebehol cez Evaluate vzorcom, ale na 20K to je brzda, preto je tam vyhľadávacie kolekcia.
Importované data následne makrom mažem, kvôli duplicite a veľkosti súboru.

Vzhľadom na množstvo ďalších neopisovaných stĺpcov mám ale dojem, že také "ľahké" to asi nebude.

Tu máte video.
PowerQuery:
Data z webu, zdroj je
https://docs.google.com/spreadsheets/d/{id_google_tabulky}/export?format=xlsx&id={id_google_tabulky}
kde
{id_google_tabulky}
je ID Google Tabuľky zo zdieľaného odkazu.

V prvom rade je treba vzorec upraviť na CZ/SK formát oddeľovačov parametrov, a potom si myslím, že nie je dobré pridávať na koniec čísla, nedá to správny výsledok ak text číslo neobsahuje. Takže by som to upravil na maticový vzorec (Ctrl+Shift+Enter):
=MIN(IFERROR(FIND({0;1;2;3;4;5;6;7;8;9};B3);FALSE))
=MIN(IFERROR(NAJÍT({0;1;2;3;4;5;6;7;8;9};B3);NEPRAVDA))

Nezobrazia? Teda fungujú, ale nevidíte ich kód? Alebo ani nefungujú a zároveň ich ani nevidíte? Excel upozorňuje na makrá v súbore? Záložku Vývojár máte aktivovanú? Makrá sú teda povolené? Súbor je to XLSM? ...

Nieje niektorý stĺpec prázdny? Najlepšie by bolo priložiť prílohu (bez citlivých dát) ale s prejavujúcou sa chybou, a uviesť na ktorej bunke pri tom stojíte.
Myslím, že opäť bude problém v určovaní správnej oblasti (CurrentRegion).

Mne to na E2019 funguje. Skúste to, čo sa spomína tu. Pozrieť chýbajúce referencie, skontrolovať správne deklarácie všetkých premenných, zmeniť to Right na VBA.Right. Je to iba pár vecí, Chrome Vám to preloží.

O čo má tomu textboxu ísť? O to aby tam bol zadaný iba dátum? Aby nedovolilo napísať iné znaky ako 0-9 a / ?

Problém je evidentne ten, že to nie sú XLS súbory. To sú normálne textové súbory, len majú príponu XLS. No a v tom prípade sa Excel snaží automaticky určiť dátový typ. A ak sa pozriete kedy toto spotvorenie čísel nastane a kedy nie, tak si všimnete, že ak textočíslo obsahuje oddeľovač tisícov " " (medzera), tak to interpretuje správne podľa EU, ale ak tam medzera nieje, a je tam iba desatinná čiarka, tak ju podľa EN identifikuje ako oddeľovač tisícov, teda logicky pridá "000". Ako tak na to pozerám, asi by bolo lepšie použiť PQ. No jednoduché to nebude.

EDIT 19.7.2021 17:47
A aby som iba netliachal. Tu máte PQ súhrn, bez makra, iba dáte "Obnoviť všetko" na karte "Údaje". No funguje to iba na tie Vaše XLS (ktoré nimi niesú). Na normálne XLS/XLSX/XLSM to fungovať nebude. Tam by bolo treba v PQ vymyslieť ešte nejaký test či sa jedná o skutočný Excel súbor alebo tento Váš CSV premenovaný na XLS, a podľa toho zvoliť načítavaciu rutinu. Dátová štruktúra XLS a CSV je neporovnateľne iná.
...

A tie údaje v F potrebujete, alebo si ich má makro spočítať samé?

???
Private Sub UserForm_Initialize()
Dim cas0 As Double, cas1 As Double

cas0 = Now()
cas1 = Int((cas0 * 24) - 1) / 24

Label1.Caption = "Aktuální čas: " & Format(cas0, "hh:mm")
CommandButton1.Caption = Format(cas1, "hh:mm")
CommandButton2.Caption = Format(cas1 + 1 / 48, "hh:mm")
CommandButton3.Caption = Format(cas1 + 1 / 24, "hh:mm")
CommandButton4.Caption = Format(cas1 + 1 / 12, "hh:mm")
End Sub

Ani som nevedel, že to ide makrom vynúť :) Tak pozrite do makra, odkrokujte, aby ste zistil kedy to zmizne. A ak kliknete pravým myšítkom na StatusBar nemáte tam možnosť to zapnúť?
Ak v makre pracujete so StatusBar-om, po ukončení práce skúste aplikovať
Application.StatusBar = False
ale to je iba čisto pokus, páč u mňa použitie StatusBaru v makre "nezničí" počet, priemer, súčet.

Prípadne
Application.DisplayStatusBar = True

Nie, zmena toho riadku iba spôsobí, že sa dáta neprepíšu od bunky A2, ale pridajú sa až za poslednou vyplnenou v stĺpci A. Teda vyhovenie požiadavke neprepisovania, ale pridávania.

Podľa toho čo píšete, si neviem ani len predstaviť realizovateľnosť. Prečo? Tak napr.:
Spustím makro s diskom ABC, bude tam film Avatar.mkv. Potom spustím makro na disku DEF, kde bude tiež Avatar.mkv. Čo teraz? Je to iný film s rovnakým názvom? Rovnaký v inej kvalite? Ten istý iba presunutý na iný disk? Odkiaľ toto makro zistí? Dajme tomu, že keď je z iného disku, tak sa pridá. Teda budú tam dva Avatar.mkv. Potom ho presuniem na tretí disk, alebo do iného adresára. Spustím makro, a čo teraz? Pridá tretí? Zmaže prvý, druhý, ... ? Ak film fyzicky zmažem, spustím makro, ako makro zistí, či som film zmazal alebo či tam nikdy nebol?
Fúha, tak toto prinesie ešte veľké hlavolamy. Problém je v samotnej podstate filmov. Oni sa totiž často menia, presúvajú, mažú, a to všetko mimo kontrolných mechanizmov DB či kvázi-DB v Excelovskom makre.


Strana:  1 ... « předchozí  63 64 65 66 67 68 69 70 71   další » ... 289

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28