Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  6 7 8 9 10 11 12 13 14   další » ... 69

To Lugr
Nevím proč si svůj post smazal.
Upřímně sem čekal s čím přijde tazatelka, ale na Tvůj popud sem vyplodil tohle:viz soubor

Řešení pomocí Dictionary
Jednotlivé položky + jejich součet.

Např. na začátku kódu načíst jednotlivé soubory (sešity) do proměnných a v kódu pracovat s nimi.

To samé si dá přece udělat i s tou částí, jak si má uživatel vybrat. Na začátku se zeptám a pak se podle toho v kódu zařídím.

Nepoužívat "humpolácký kód" a SELECT.

Na prvním listě je filtr zapnut i na sloupci ID, na druhém listě nikoliv.

OB napsal/a:

Ještě prosím o jednu pomoc. Když se stáhnou všechny data ze všech souborů z adresáře DATA do souboru Souhrn02_funguje, ale v listu DataSouboru ve sloupci G jsou příliš "nafouklá" čísla a to vždy o "tři nuly" takže pak umazávám poslední 000, zřejmě je to chyba při převodu z jednotlivých souborů (hodnoty jsou čísla) z adresáře DATA.

Díky.


Bohužel tady neporadím. Chyba nastává při programovém otevření souboru. Pokud soubor otevřu ručně (poklepáním na soubor), dostanu chybovou hlášku o neshodě formátu a přípony. Když potvrdím otevření soubor se otevře a obsahuje hodnoty např. 984, 981, 985 ...

Pokud se tentýž soubor (konkrétně např. 33683975) pouze otevře makrem! Hodnoty jsou uvedeny jako 984000, 981000, 985000 ...
Makro žádné převody hodnot neprovádí, vyjma použití funkce VAL k převodu čísel uložených jako text. Což není tento případ.

Nenapadá mě jiné řešení, než si opatřit jiné vstupní soubory.

Aha, takže Tvůj problém je, že neumíš vyhodnotit podmínku. Do proměnné Volba1 si můžeš narvat co je libo, nebo ji klidně nechat prázdnou (Volba1 = ""). Tvůj zápis Volba1 ="<>" (proměnná tedy obsahuje textový řetězec <>.

If ListZdroj1.Cells(Radek1, 6).Value = Volba1 Then
Tedy:
If ListZdroj1.Cells(Radek1, 6).Value = <> Then
Což je samozřejmě blbost.
Tedy pokud buňka v šestém sloupci neobsahuje hodnotu <>

Vyhodnocovací operátor je přeci v tomto případě =, nikoliv <>.

PS:
Pokud hodláš vyhodnocovat 39 různých hodnot v proměnné, místo IF THEN ELSE, používej SELECT CASE.

Porovnávací operátor <> (Nerovná se) ve VBA samozřejmě funguje.
Problém bude v deklaraci nebo převodu datových typů - (je to 39 různých hodnot, text i číslo)
Je to číslo opravdu číslo? Nebo je to text?

@Veny Ti to už jednou psal, vzorec musí být MATICOVÝ (poznáš to podle toho, že je uzavřen do složených závorek).

Public Sub radky2()
Application.ScreenUpdating = False 'zakázat vykreslování v průběhu makra - zvýší rychlost
Dim radek As Long
radek = 1
Do While Cells(radek, 1) <> "" 'maximum řádků na listu, ale lze nastavit vlastní a nižší šíslo - makro pak bude rychlejší protože bude ověřovat jen třeba 2000 řádků
Rows(radek + 1).Resize(2).EntireRow.Insert ' Cells(radek + 1, 1).EntireRow.Insert
radek = radek + 3
Loop
Application.ScreenUpdating = True 'povolit vykreslování
End Sub

Private Sub CommandButton1_Click()
Dim Radek As Long

With Worksheets("List2")
Radek = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(Radek, 1).Value = Worksheets("List1").Cells(1, 1).Value
End With
End Sub

Tohle by mělo pomoct:

Select Case True
Case Item Like "*A*": X_X = 10
Case Item Like "*B*": X_X = 11
Case Else: X_X = 12
End Select

Např:
Sub prepis_komentar()
Dim Oblast As Range
Dim Bunka As Range
Set Oblast = Range("A1:A20")
For Each Bunka In Oblast
If Not Bunka.Comment Is Nothing Then
Bunka.Comment.Text Text:=Replace(Bunka.Comment.Text, "f", "7")
End If
Next Bunka
Set Oblast = Nothing
End Sub

Upraveno

Ten kód co si sem vložil běží 10 minut?
A když vypneš překreslování obrazovky a automatický přepočet listu? (viz soubor)


Strana:  1 ... « předchozí  6 7 8 9 10 11 12 13 14   další » ... 69

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

Hromadné přepsání

elninoslov • 24.5. 10:29

Hromadné přepsání

Nomi • 24.5. 8:32

Index - každý rok začít od 1 Power Query

Alfan • 23.5. 9:17

nepřímý odkaz

elninoslov • 23.5. 0:00

nepřímý odkaz

bordov • 22.5. 18:35

vrácené hodnoty

Anonym • 22.5. 15:46

vrácené hodnoty

Anonym • 22.5. 15:45