Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další » ... 17

Další možností je použít
Worksheets("jmenoListu").Protect password:="heslo", UserInterfaceOnly:=True

List bude uzamčen pro uživatele, ale makra do něj mohou zapisovat bez nutnosti jej odmknout.
https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.protect

https://wall.cz/index.php?m=topic&id=55933&page=1#post-55936

Možné řešení:
v buňce A1 je uvedená cesta k souboru, do buňky B1 se uloží název bez přípony.
Sub JmenoBezPripony
Dim aJmeno
Dim jmenoSouboru As String, jmeno As String

jmenoSouboru = Range("A1")
aJmeno = Split(jmenoSouboru, ".", , vbTextCompare)

jmeno = Replace(jmenoSouboru, "." & aJmeno(UBound(aJmeno)), "", , , vbTextCompare)

Range("B1")=jmeno

End Sub

Máte na mysli toto?

Jasné, to mi bohužel došlo, když už jsem to odeslal.

V mém případě ani není nutné mít pomocný sloupec, protože různá data zpracovávám pokaždé jinak seřazená, ale to není podstatné.

Díky za cenné rady a řešení.
I před důchodem se člověk stále učí .. 5

EDIT:
to elninoslov
možná bych doplnil With .Sort
.SortFields.Add2 Key:=rng, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal

With .Sort
. SortFields.Clear
.SortFields.Add2 Key:=rng, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal

aby se nekumulovaly jednotlivé úrovně filtru každým spuštěním

Seřazení dat byla taky jedna z možností nad kterými jsem uvažoval. Jedno jestli vymazavana oblast bude na konci nebo začátku, hlavně že bude spojitá.

Díky, to jsou právě ty obavy z vysoké stability a spolehlivosti MSO.

Pokusím se upravit pro variabilní oblast dat.

Dobrý den,
pro výmaz nevyhovujících záznamů využívám metodu mazání dat pomocí SpecialCells. Pro řádově 1000 řádků to je obstojná rychlost výmazu, ale při počtech záznamů v řádu desítek a stovek tisíc je to pomalé.

Existuje jiný, efektivní, způsob výmazu velkého množství dat.

Současný kód výmazu:
Sub VymazNepotrebne()
Dim rng As Range
Set rng = Range("D2:D" & Cells(Rows.Count, 1).End(xlUp).Row)
With rng
.Formula = "=IF(A2=1,0,0/0)"
On Error Resume Next
.Cells.SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Delete
.Clear
On Error GoTo 0
End With
Set rng = Nothing
End Sub

A čemu se má uvedený výraz rovnat?

Pokud výraz bude logickou hodnotou, pak bude podmínkou vyhodnocen.

Podle popisu výše to určitě nebude logická hodnota.

Doporučuji deklarovat proměnné a určit jejich datové typy.

bobika99 napsal/a:

dotaz = "(.Cells(5, 2).Value Like "020319??00" Or .Cells(5, 2).Value Like "0203??0000" Or .Cells(5, 2).Value Like "02??000000")"
Proměnná dotaz není logickou hodnotou.

dotaz = .Cells(5, 2).Value Like "020319??00" Or .Cells(5, 2).Value Like "0203??0000" Or .Cells(5, 2).Value Like "02??000000"

Jak jsem již uvedl, podmínka musí být logická

dotaz="5 + 5 = 10"
If dotaz = "5 + 5 = 10" then
' správně
Else
' špatně
End If
Jinak už nevím jak to srozumitelněji napsat.

bobika99 napsal/a:

...ve skutečnosti tam je poskládaná podmínka...
ale proměnná dotaz je textová, podle přikladu.

A co se má vyhodnotit jako správná podmínka?
Podmínka se vyhodnocuje jako logická hodnota, tedy pokud DOTAZ je definován jako "5 + 5 = 10" (to je textová hodnota) musí se s něčím porovnat.
If dotaz = "5 + 5 = 10" then
' správně
Else
' špatně
End If

A1 je buňka, A je sloupec, 1 je řádek

možné řešení v příloze

PavelJanec napsal/a:

...Porovnání bude podle názvu sloupců...

Znamená to tedy, že název sloupce bude v řádku 1?

Názvy sloupců jsou standardní podle typu odkazu (A1 vs R1C1) a jsou to buď písmena nebo čísla.

Interior.ColorIndexhttps://learn.microsoft.com/cs-cz/office/vba/api/excel.interior.colorindex

Samostatný list nelze přiložit jako přílohu emailu, stejně tak jako list neuložíte na úložiště.
Vložit lze soubor (sešit) obsahující pouze uvedený list.
.Attachments.Add (soubor)

Dalo.
Rows(i) nahradit uvedeným Range


Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další » ... 17

Uživatelské menu

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

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