Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4 5

Ahoj,

mám makro na vystavování faktur. Nyní jsem dostal požadavek, udělat jazykovou mutaci. Moje myšlenka je následující. Do sešitu přidat rozbalovací menu-combobox(případně přepínače - optionbutton), kde by si uživatel vybral příslušný jazyk. Je možné pomocí VBA docílit toho, aby se při změně jazyka v comboboxu změnily popisky (caption) v názvu tlačítek + text ve formulářích? (V přiloženém souboru se formuláře zobrazí pomocí tlačítek "Přidat odběratele" a "Přidat komponentu".

díky za Vaše postřehy

vyřešeno 1

Ahoj, mám oblast buněk, řekněme A30:A1000, jejichž obsah chci smazat pomocí tlačítka. Smazat chci všechen obsah buněk, vyjma buněk, které obsahují určitý text. Někde v uvedené oblasti mám např. text "v případě nouze volejte infolinku" o něco níže "platnost nabídky je 14 dní od vystavení". Jak docílit toho, že po kliknutí na uvedené tlačítko, bude smazáno vše vyjma buněk obsahující tento text? díky moc

Dobrý večer,

poradil by mi prosím někdo, jak pomocí VBA docílit následujícího?

V listu faktura mám rozbalovací menu, pomocí kterého vybírám konkrétního odběratele. Jméno příslušné kontaktní osoby odběratele a její mailová adresa se po vybrání odběratele z rozbalovacího menu propisují do buněk C24 resp. C25. V dolní části mám rovněž tlačítko na přidání nového dodavatele. V listu Odberatel jsou zapsáni jednotliví odběratelé(již existující, či nově přidaní). Na tomto listu jsem si vytvořil tlačítko na přidání nové kontaktní osoby k aktuálně vybranému odběrateli.

Chtěl bych dosáhnout toho, aby při vybrání odběratele bylo zkontrolováno, zda k danému odběrateli existuje více kontaktních osob. Pokud ano, tak aby se po zvolení takového odběratele objevilo nové rozbalovací menu, ze kterého bych si vybral konkrétní kontaktní osobu (ta by pak byla zapsána do buněk C24 resp C25 na listu faktura). Pokud existuje k vybranému kontaktu pouze jedna kontaktní osoba, bude tato rovnou zapsána do zmíněných buněk. Uměl by mi s tím prosím někdo pomoci? Množství kontaktů se však může měnit, nějaký kontakt můžu smazat, jiný zase přidat. Daná oblast se tedy může dynamicky měnit.

Snad jsem to popsal pochopitelně.

přikládám přílohu

za Vaše postřehy děkuji

Dobrý večer,

v proměnné alfa mám uloženu hodnotu 3.


MsgBox alfa
delta = [COUNTA(H& alfa : M & alfa)]
MsgBox delta


v každé z buněk H3 až M3 mám určité hodnoty (text)

Hodnota proměnné delta je ale nepochopitelně vždy 1.

Pokud použiju zápis

delta = [COUNTA(H3 : M3)]

nabývá proměnná delta hodnoty 6 (což je správně). Já však potřebuji do funkce COUNTA dostat variabilní proměnnou.

Může prosím někdo pomoci?

děkuji

Zdravím,

je možné pomocí VBA opakovat řádky dole? (analogicky k funkci "nahoře opakovat řádky", která je dostupná přes "Tisk názvů" -> záložka "List"). Díky za info

Dobrý večer,

mám problém s uložením kopie sešitu. Mám makro, které před uložením souboru zkoumá, zda soubor s daným názvem (Angebot_19-01-041.xlsm) ve složce "angebot" již existuje. Pokud existuje, objeví se okno s dotazem, zda chce uživatel soubor přepsat (ANO/NE). Pokud ano, soubor je přepsán (resp. starý soubor se stejným názvem je nejprve smazán a poté je uložen nový). Chtěl jsem do kódu doplnit větvení else (pokud soubor se stejným názvem neexistuje, tak se soubor prostě uloží), ale bohužel mi to nejde, což nechápu proč.

ThisWorkbook.SaveCopyAs filename:="C:\angebot\" & jmeno & ".xlsm"

Zkoušel jsem kód i obměnit, bohužel bezvýsledně. Stále se objedvuje hláška Compile Error: Else without If

Private Sub CommandButton4_Click()
q = Worksheets("temp").Range("A3").Value
jmeno = "Angebot_19-01-" + CStr(q)
soubor = "C:\angebot\" & jmeno & ".xlsm"
If Len(Dir(soubor)) = 0 Then ThisWorkbook.SaveCopyAs filename:="C:\angebot\" & jmeno & ".xlsm"
Else
i = MsgBox("Eine Datei mit diesem Namen " & jmeno & ".xlsm" & " ist schon vorhanden. Wollen Sie diese Datei überschreiben?", vbYesNo, "Datei überschreiben?")
Select Case i
Case vbNo
Exit Sub
Case vbYes
Kill soubor
MsgBox "Datei wurde unter " & jmeno & ".xlsm " & "gespeichert"
End Select
End If
End Sub


Nevíte prosím někdo, kde je chyba?

díky

Miroslav

Díky, ještě než se do toho pustím...je správná úvaha, že když souborů ve složce bude třeba 100 a další budou přibývat, tak načítání hodnot z buněk jiných sešitů bude trvat dlouho? Napadlo mě ještě jedno elegantnější řešení, díky kterému bych se tomuto načítání vyhnul.

přikládám přílohu (než jsem text dopsal, byl jsem bohužel automaticky odhlášen)

Potřebuji ze zavřeného sešitu získat text z určité buňky.
=SUMA('C:\prace\angebote\[f.xlsx]List1'!$A$1)

Tento vzorec mi funguje, pokud je v buňce A1 číslo. Já však potřebují načíst a přenést text, což bohužel nejde. Jako výsledek se vždy zobrazí 0.

Externí odkazy jsou tedy použitelné pouze u číselých hodnot? Pokud ano, lze to obejít nějakým jiným způsobem?

za postřehy děkuji

Vyřešeno, odkazoval jsem se na název listu, což byla chyba. Ještě jednou díky za Vaši pomoc.

tak nevím nevím, zřejmě to souvisí s tím, že jsem měl sešit chráněný heslem. Pokud to uložím pod novým názvem bez hesla a přesunu všechny moje záložky do Vašeho sešitu, tak to funguje. Ovšem pouze na těch Vašich listech.

V okamžiku, když zkopíruju zdrojová data z Listu4 (případně textové pole z listu Hárok1) do nějakého svého listu, tak to už nefunguje :-(

Budu muset tedy ty Vámi vytvořené listy zřejmě zachovat a upravit k obrazu svému. Jaká je správná posloupnost? Prvně napsat makro, poté vytvořit textové pole a následně je přiřadit danému makru? Nechápu, kde dělám chybu. 4

https://stackoverflow.com/questions/44939935/microsoft-excel-vba-run-time-error-2147024809-80070057

elninoslov napsal/a:

Ten kód predsa musíte dať do listu "List4", lebo ten sa prepočítava, a pri tomto prepočítaní sa aktualizuje Textové pole v liste Hárok1, teda zmente tento riadok na :
With Hárok1.Shapes("txtPoleSpolu").TextFrame2.TextRange
Tieto riadky tam niesú potrebné ak nemeníte nikde farbu:
Dim text As String
.Font.Fill.ForeColor.RGB = RGB(0, 0, 0)
a 2x
.Fill.ForeColor.RGB = RGB(0, 0, 0)

elninoslov napsal/a:

Ten kód predsa musíte dať do listu "List4", lebo ten sa prepočítava, a pri tomto prepočítaní sa aktualizuje Textové pole v liste Hárok1, teda zmente tento riadok na :
With Hárok1.Shapes("txtPoleSpolu").TextFrame2.TextRange
Tieto riadky tam niesú potrebné ak nemeníte nikde farbu:
Dim text As String
.Font.Fill.ForeColor.RGB = RGB(0, 0, 0)
a 2x
.Fill.ForeColor.RGB = RGB(0, 0, 0)


Díky moc. Popletl jsem to... Nyní to funguje skvěle.
Snad už poslední dotaz k tomuto tématu.
Když nyní přesunu tyto dvě fungující záložky (viz příloha) do jiného sešitu, tak to bohužel nerozběhnu. Do modulu v jiném sešitu přitom vkládám kód z modulu fungujícího sešitu (prostě z přílohy)

píše mi to chybu viz obr.

Do textového pole se přitom nepřenese žádný text - je prázdné. Můžete mi ještě prosím poradit:

- jak to rozchodit
- popsat kde byla chyba a jak to funguje? Nějak to nemůžu pořád pochopit.

děkuji moc

img

elninoslov napsal/a:

Možno tak jedine udalostné makro ("Calculate"), vzorec tam nemôže byť.Příloha: 42779_vyfarbi-casti-textoveho-pola-pri-calculate.zip (18kB, staženo 6x)


Díky za inspiraci. Trochu jsem si hrál a v podstatě vytvořil s Vaší pomocí to, co chci. Je tu ještě pár detailů, které bych rád doladil.

V přiloženém zipu jsou dva soubory:

calculate_betaT.xlsm
calculate_betaF.xlsm

V prvním souboru funguje vše skvěle. Např. po změně jména v buňce A20 se okamžitě aktualizuje jméno i v textovém poli.

Ve druhém souboru jsem pouze přesunul vstupní data do Listu4. Když nyní změním jméno na Listu4 v buňce B17, tak se bohužel jméno v textovém poli na listu Hárok1 neaktualizuje hned, ale až po zobrazení a spuštění kódu klávesou F5.

Můžete mi prosím poradit, jak mám kód upravit, aby se změna vstupních dat (na jiném listu) projevila v textovém poli okamžitě? (případně po aktivaci listu s textovým polem).

Díky moc


Strana:  « předchozí  1 2 3 4 5

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

Vynásobit hodnoty kurzem - Power Query

Alfan • 26.4. 7:56

Relativní cesta - zdroje Power Query

Alfan • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

elninoslov • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

lubo • 25.4. 19:18

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 15:12

Relativní cesta - zdroje Power Query

Alfan • 25.4. 15:08

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 14:21