Nejste přihlášen/a.
Dobrý den přeju.
Jsem začátečník a bojuju s tímto problémem. Prosím Vás, nevíte někdo jak udělat v MS Excel tabulku, kdy v sešitu jedna určím v buňce B1 číslo se znakem např. +89100 (což je minimální hodnota) a v buňce B2 (maximální hodnota +89798) a potřebuju v tomto případě např. od čísla +89100 přičítat čísla po třech a některých případech po jedné, či po dvou (nejlépe dát do buňky B3 hodnotu pro připočítávání např. 3) přičítat do hodnoty do hodnoty v buňce B2 a tyto součty (pokud by bylo zadání např. po třech od +89100 až do +89798) by se v tomto případě vyházeli do sešitu dva a na řádku A1 až Ax pod sebe a to vše by se dalo vyexportovat do jednoho souboru txt, kde by čísla byli odřádkovány pod sebou takto (výsledek):
+89100
+89103
+89106
+89109
+89112
...až poslední číslo.
Předem děkuju za pomoc. Pozn. +musí být vždy před každým číslem.
No, celkem jednoduše.
Do souboru napíšete pod sebe čísla od 0 do 100, možná víc, podle toho, kolik těch čísel v sérii může celkem být.
Bokem napíšete spodní hranici, horní hranici a velikost kroku.
Do sloupečku vedle prvního sloupečku dáte vzorec na způsob =minimum + první_sloupec * krok
Do třetího sloupečku doplníte připojení znamínka plus, tedy =concatenate("+";druhý_sloupec)
Na závěr, aby se to zastavilo při překročení maxima, tak tento vzorec ještě zabalíte do podmínky když, tedy: =když(druhý_sloupec <= maximum; ona_konkatenace; "")
Šlo by to i lépe, ale takhle to možná bude stačit. Aktuální hodnoty můžete třeba vkládat přes průvodce funkcí a vybírat myší. Snad je to trochu k pochopení.
promiňte, ale na začátečníka jste se pustil hodně vysoko. Uvědomte si prosím, že pokud před číslo potřebujete vložit znaménko+ a to číslo následně vyexportovat, pak nemůžete použít uživatelský formát buňky. Číslo by se vám vyexportovalo bez té značky +.
Číslo s textovým znakem se spojuje znakem ampersand &, to je takové to lepší a
="+"&A1
jenže je tu problém. Z čísla je v tu chvíli text.
Export se provádí přes makra, kdy potřebujete rutinu Sub napsanou ve VBA. Tady jedna je. Export začíná v buňce A1, postupuje směrem dolů, až se nakonec zarazí o první prázdnou buňku. No a na disku D: se objeví vyexportovaný soubor ve formátu txt. Ale jak jsem povídal, to do čeho se pouštíte není nic pro začátečníky.
*
Sub Export()
Dim PathName As String, Data As String
Dim Textfile As String, Filename As String
Dim Line As Byte
PathName = "D:"
Textfile = "Export.txt"
Filename = PathName & Textfile
Open Filename For Output As #1
Line = 0
Do
Data = ActiveSheet.Range("A1").Offset(Line, 0)
Print #1, Data
Line = Line + 1
Loop While Data <> ""
Close #1
End Sub
v proměnné PathName má být jen jedno lomítko. Nevím proč se mi tam objevily tři. Je to cesta adresářů, kterou si můžete upravit podle své potřeby.
PathName = "D:"
nebo
PathName = "D: abulky Excelexperimenty"
atd
Tak tímhle způsobem tam nemusí mít ani VBA, ani excel a officy. Úplně postačí powershell a něco takového: pastebin.com/...
Uložit třeba jako pricitani.ps1
Použití (za předpokladu, že máte nastavenou cestu a všechno, stačí ps skript parametry; jinak tedy ručně otevřít powershell a příkazy vkládat do něj; další možností vytvořit zástupce včetně uvedených parametrů):
.pricitani.ps1 [od] [do] [krok] (výchozí parametry v tomto pořadí, bez uvedení parametrů to použije 1, 10, 2)
.pricitani.ps1 1 12 3
+1
+4
+7
+10
.pricitani.ps1 -do 100 -krok 17 -od -5
+-5
+12
+29
+46
+63
+80
+97
Pro přesměrování do souboru použijeme klasicky rouru, tedy: .pricitani.ps1 89100 89798 3 > soubor.txt
Soubor.txt v aktuální složce pak obsahuje ten stejný výpis, který se vypisoval tu.
No a je to.
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.