Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  290 291 292 293 294 295 296 297 298   další » ... 300

Táto úprava môjho kódu funguje myslím tak ako chceš. Do konštanty je potrebné zadať počet zobrazených riadkov LB (nie položiek !).
Vyhľadáva akúkoľvek časť. Predošlá verzia hľadala len začiatok.

Dá sa to ešte minimalizovať na 1 riadok 1
Private Function FileExists(fname) As Boolean
FileExists = Dir(fname) <> ""
End Function


alebo ak chce "A" a "N" tak
Private Function FileExists(fname) As String
FileExists = IIf(Dir(fname) <> "", "A", "N")
End Function

Tu to máš s upraveným vzorcom od AL, aj s jeho adresovaním, aj s Tvojim upraveným adresovaním, aj s 49916 riadkami (preto na ext. server)
http://leteckaposta.cz/460507022

Ale vo "Výsledky" je veľká chyba. Odkaz na stĺpec Data!A má byť vo výsledkoch v stĺpci B, a nie až v stĺpci F.

Neplechu tam robí to vymazávanie stĺpcov. Takže nemazať stĺpce ale iba obsah, a stĺpec A, keď už musí byť v tých TXT, tak tento stĺpec ignorovať, určite nemazať. Mazaním stĺpca Excel automaticky prerobí všetky vzorce (aj relatívne aj absolútne) a potom to nesedí. Výpočty sa jednoducho začnú v stĺpci B.
Riešenie by mohlo byť takéto.

Toto je niečo úplne iné, ako si popisoval. Ty si chcel vložiť makrom vzorec, teraz nevkladáš nič nikam. Ale ak to tak môžeš mať, prečo nie.
PS: Lepší popis alebo príloha to vždy zjednoduší.

Nepoužívaš dolárovú notáciu ako v navrhnutom riešení. A máš nerovnaký počet riadkov v A a J, pretože v J začínaš na 3 a v A na 1, pričom končíš na rovnakom riadku. Vzorec ale neodstráni duplu.
Podľa mňa to funguje ako má, až na tie duply.

Odpovede budú vždy len "Ano" a "Ne" ? Žiadna iná? Dá sa na otázku neodpovedať ? Má to byť formulárové okno s tlačítkami "Ano", "Ne", alebo sa berú odpovede z buniek ? Počet otázok je variabilný ? Kde sa tie otázky nachádzajú ? .....

EDIT:
Mohlo by to vyzerať nejako takto. Viď príloha.

Tým "int" myslíš integer číslo ? Čiže celé číslo bez desatinných miest ?
Ja mám SK Office, a ak zadám akékoľvek hodnoty akéhokoľvek typu, a nastavím na ne Zoznam v Overení údajov, normálne mi to berie.
Ak chceš vložiť do Zoznamu maticovú konštantu s predvolenými položkami, tak to myslím do Overenia údajov - Zoznamu, nejde.

A prečo to nemôže byť odkaz na oblasť ?

PS: To červené je odkaz na maticovú konštantu (pole hodnôt)

EDIT: Aha, tak beriem späť.

Bolo by dobré dať asi prílohu. Netuším ako to chceš ošetriť napr. ak sa zmení počet riadkov + alebo -. Pretože v stĺpci A máš okrem vzorca aj nejaké hodnoty. Ty potrebuješ ten pôvodný vzorec, ktorý platil pred zmenou, zmazať, a na nové miesto nahodiť nový. Ako vieš čo máš zmazať, aby si nezmazal údaje, ale len vzorec ?

HODNOTA to vráti ak nezadáš vzorec ako maticový. Takže vo vzorci stlač nie ENTER ale Crtl+Shift+ENTER. Zásadný rozdiel.

A nemá to byť náhodou tak, že má byť posledný záznam na vrchu ?
Ak to má byť DB ako píšeš, tak asi bude platiť
1 záznam = 1 riadok

Potom by to mohlo byť takto. A nezáleží na tom, či sú vyplnené všetky údaje alebo nie.

Aktivuj si v makre režim radenia posledný na spodku alebo posledný na vrchu. Máš tam oba.

PS: Ak to nemá byť databázový záznam (čiže záznam = riadok), tak treba obdobne urobiť toto, čo navrhujem pre všetky dotknuté stĺpce zvlášť.

Keď si to skombinujete, tak toto vložte do VBA daného listu v ktorom bunka je.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KonBunka As Range
Set KonBunka = Range("C1") 'Nastavenie kontrolovanej bunky
If Not Intersect(KonBunka, Target) Is Nothing And KonBunka = 100 Then
'Splnenie podmienky - vykonanie nejakej akcie
MsgBox ("Zdravím Vás, ja som bunka " & KonBunka.Address(0, 0) & " s hodnotou 100.")
End If
End Sub


EDIT: Omluva. Druhý krát som si to prečítal, a konštatujem, že jedine AL to pochopil a popísal správne. Nejde o udalosť vyvolanú zmenou hodnoty v bunke na 100, ale o kontrolu bunky počas spracovávania. To je tak, keď sa robí rýchlo...

Upravte si to makro takto (samozrejme musia sedieť názvy listov v Array()):
Sub StartPrint()
'ActiveSheet.PrintOut 'Okamžiťá tlač listu
'ActiveSheet.PrintPreview 'Náhľadové okno
Sheets(Array("tisk1", "tisk2", "tisk3")).Select
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint") 'Nové náhľadové okno s možnosťami
ActiveSheet.Select
End Sub


EDIT: Kým som to napísal AL ma predbehol. 1 Pekný deň.

2 eLCHa : Áno kontroly "" a Nothing odchytí OnError. V Intersect je to zámerne, keby došlo k zmene viacerých buniek naraz (makrom, či kopírovaním).

2 Kneiflpe : No to netuším. Nedali ste prílohu, ani nevieme, či bude počet listov stále rovnaký, kde bude zoznam názvov listov uložený ... treba upresniť a dorobíme (keď bude čas).

Napr takto pri štandardnom Zozname. Ak bude počet a názvy listov variabilné, treba dorobiť makro, ktoré pri urobí vždy aktuálny zoznam listov.


Strana:  1 ... « předchozí  290 291 292 293 294 295 296 297 298   další » ... 300

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje