Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Jak zapisovat do buněk Excelu pomocí maker (VBA kódy) hodnoty, čísla, texty. Praktické příklady.
Jak z buňky přečíst nějaký údaj (hodnotu, datum, čas, ...) předpokládám, že zvládáte z předchozího článku. V následujících příkladech představuji praktické ukázky jak údaje do buněk zapisovat:
Začneme tradičním úkolem. Do buňky A1 pomocí VBA makro zapíše text "Ahoj světe."
Sub Zapis()
Cells(1, 1) = "Ahoj světe."
End Sub
nebo pomocí Range
Range("A1") = "Ahoj světe."
Jak víte z přečtení údaje z buňky. Podle požadované vlastnosti se vypíše co potřebujete, stejně tak to funguje u zápisu.
Range("B5") = "10.10.2016"
Range("B5").Value = "10.10.2016"
Range("B5").Value2 = 42653
' nelze zapsat
' Range("B5").Text = "text"
Range("B5").Formula = "=Today()"
Range("B5").FormulaLocal = "=DNES()"
Range("B5").FormulaR1C1 = "=Today()"
Range("B5").FormulaR1C1Local = "=DNES()"
' poznámka pro pokročilejší:
Range("A1:C5").FormulaArray = "=3"
Poznámka: Předpokládám, že znáte a není třeba vysvětlovat.16:02 30.11.2018
Range("B2")
Cells(2, 2)
[B2]
Trochu složitější požadavek. Makro zapisuje do příslušného řádku a sloupce údaj, o který řádek a sloupec jde.
Sub popisuj()
For i = 1 To 9
For j = 1 To 3
Cells(i, j) = "Řadek: " & i & " - Sloupec " & j
Next j
Next i
End Sub
Ukázka:
Makro vyplní více buněk požadovaným textem.
Sub Vicebunek()16:13 30.11.2018
Range("A1, A3, A5") = "Ahoj!"
' nebo lépe s udanou vlastností
' Range("A1, A3, A5").Value = "Ahoj!"
End Sub
Sub Vicebunek2()
Range("A1:B5") = "ABECEDA"
End Sub
Opět lze místo Value zvolit i jinou vlastnost pro zápis.
Pomocí makra zapište údaj do určité buňky ve vybrané oblasti.
Sub Dobunky()
Range("A1:C5").cells(8) = "ZYZ"
End Sub
Toto je trochu složitější úvaha. Zápis se provádí do x-té buňky ze zadaného rozsahu.
V naší výběrové tabulce má první řádek pozice:
1 2 3 4 5
druhý řádek pozice:
6 7 8 9 10
třetí řádek pozice:
11 12 13 14 15 16
Náš požadavek je zapsat požadovanou hodnotu do pozice (buňky) 8.
Dotaz: Lze nějak nastavit buňku, aby pokaždé když do ní napíšu číslo, tak udělalo součet? tzn poprvé do ní napíšu 10, podruhé do té samé buňky 15, zobrazí se 25?
Odpověď: Lze, například využitím Worksheet_Change, kdy "platnost" (pro kterou buňku přičítání platí) je omezena pro buňku M7 a do pomocné buňky M8 se ukládá pomocná hodnota (nutná pro příští výpočet).
Využívá se pomocné buňky.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$M$7" Then
Application.EnableEvents = False
Target = Target + Range("M8").Value
Range("M8") = Target
Application.EnableEvents = True
End If
End Sub
Využít Worksheet_SelectionChange a Worksheet_Change (není nutná pomocná buňka na proměnou).
Dim StaraHodnota As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
StaraHodnota = Target.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target = Target + StaraHodnota
Application.EnableEvents = True
End Sub
Asi nejelegantnější řešení. Za nápad a inspiraci děkuji Petru Pecháčkovi, autor webu: excelplus.net. Řešení využívá Application.Undo
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngSledovanaBunka As Range
'sledovaná buňka
Set rngSledovanaBunka = Range("B2")
'test na změnu sledované buňky
If rngSledovanaBunka.Address = Target.Address Then
'nová hodnota
dblNovaHodnota = Target.Value
Application.ScreenUpdating = False
Application.EnableEvents = False
'krok zpět
Application.Undo
'stará hodnota
dblStaraHodnota = Target.Value
'přičtení nové hodnoty ke staré
Target.Value = dblStaraHodnota + dblNovaHodnota
'výběr další buňky
'pozn. Application.Undo neposouvá výběr
Target.Offset(1, 0).Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub
Jak vkládat do buněk Excelu vzorce - funkce. Aby to nebylo tak jednoduché dají se zadávat hodnoty jako absolutní/relativní/smíšené. Názvy funkci mohuo být v angličtině nebo češtině systém zápisu může bát A1 nebo R1C1. Takže při psaní je o zábavu postaráno. Ukázkou pár možných zápisu:
Range("B1").Formula = "=A1"
Range("B2").Formula = "=A$1"
Range("B3").Formula = "=$A$1"
Range("A1").Formula = "=SUM(B2:B5)"
Range("A2").FormulaR1C1 = "=SUM(RC[1]:R[3]C[1])"
Range("A3").FormulaLocal = "=SUMA(B2:B5)"
Range("A4").FormulaR1C1Local = "=SUMA(R[-2]C[1]:R[1]C[1])"
Podrobněji o vkládání vzorců a funkcí pomocí VBA do buněk Microsoft Excelu.
Máteli zájem o další související informace
Soubor ke stažení zdarma je v přípravě. Soubor využívá makra.
Údaje makro v Microsoft Excel zapisuje na aktuálním listu v aktuálním sešitu. Pokud budete chtít makrem provést zapis na jiný list (sešit), je potřeba kód doplnit o adresu daného listu (sešitu).
Článek byl aktualizován: 19.09.2020 11:07
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Přidáno: 06.11.11 12:44
Ahoj, bojuju teď s případem, že mám počítanou buňku(A2), která mi vrací číselnou hodnotu - pak mám buňku(A1), ve kterém mám nějaké číslo napsané "natvrdo". Tak.. a teď bych potřeboval makro, které vezme hodnotu z A2, provede něajký další početní úkon (vynásobí dvěma, přičte jedna atp..) a výsledkem vynásobí hodnotu buňky A1 a tento výsledek zapíše do A1 jako novou hodnotu.. Uf.. Snad je to srozumitelné.. Logicky tuším jak to provést, ale neznám správné příkazy a syntaxi..
Přidáno: 06.11.11 20:38
To Kvitek: Třeba takto.
a = Range("A2").Value
b = a + a
Range("A1").Value = b
Další výpočty dle libosti.
Přidáno: 30.11.11 19:38
Ahojky POtreboval bych pomocí makra nastavit "tlacítko" tisk-vybraná cast bunek- pokusil jsme se toto makro udelat pomoci zaznamu,ale ouvej chyba 1004: Sub tlačítko10_Kliknutí() ' ' tlačítko10_Kliknutí Makro ' ' Range("D1:K19").Select Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False End Sub Prosím o pomoc kde je chyba dekuji
Přidáno: 30.11.11 20:40
To Aureas:
ActiveSheet.PageSetup.PrintArea = "$C$4:$K$16"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
Přidáno: 01.12.11 19:08
Dík moc
Přidáno: 03.01.12 12:32
Zdravíčko přeji,
pomocí zaznamu jsem vytvořil makro, které mi po stisknutí tlačítka vybere požadované listy a uloží je do jediného PDF souboru na požadované umístění. Nelíbí se mi však název takto vzniklého PDF souboru. Bylo by možné vznikající PDF soubor rovnou pojmenovat dle hodnoty buňky E2 (jen hodnoty - buňka E2 zobrazuje výsledek vzorce) na listu Fakturace? Současný kód vypadá následovně:
PDF_Save_All Makro
'
Sheets(Array("FAV", "DL", "Výdejka")).Select
Sheets("FAV").Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\Dokumenty\Pracovní\DUAVE\Dropbox\Faktury a dodací listy vydané\2012\FAP a DL PDF 2012\FAP\FA2012_ .pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets("Fakturace").Select
Range("E3").Select
End Sub
Moc díky předem za případnou pomoc.
S pozdravem
Michal
Přidáno: 03.01.12 17:38
To Majkie: Stačí přečíst údaj z dané buňky předpokládam že je ve tvaru: "C:\lasak\2012.pdf"
a = Range("A1").Value
no a předá se pro export
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Pdf_nazev ....
Přidáno: 13.01.12 13:57
Dobrý den, příklad č. 2 nefunguje - čtvrtý řádek je chybný. Může být např. takto: Cells(i,j) = "Řadek: " & i & " - Sloupec " & j
Přidáno: 24.01.12 19:54
To BJ: Děkuji už jsem napravil, při kopírování vypadla formule Cells(i,j) =, takže je napraveno a příklad již funguje správně.
Přidáno: 11.02.12 15:06
Super stránky, jsou mým velkým pomocníkem. Děkuji
Přidáno: 11.02.12 17:08
To Jirka: Díky, proto je tvořím :)
Přidáno: 15.02.12 08:39
Dobrý den, mám big problém. V listu mám vytvořeno několik různých výpočtů na základě nich mi to v poslední buňce vypíše výsledek ve formě jména. Problém mám v tom že buňka ve které mám výsledek zcela nesmyslně formátuje zobrazený výsledek. Pokud dané slovo napíšu čistě bez vzorečku dá se zarovnat na střed buňky a i další formáty fungují jak mají. Pokud ho ale nechám zobrazit pomocí vzorečku jméno je divně posunuté a nejde vyrovnat na střed buňky. Je nějaká možnost jak nechat v buňce zobrazit pouze text (který by šel normálně formátovat)? Prosím o pomoc. Děkuji
Přidáno: 15.02.12 10:33
To Štěpán: Neobsahuje výsledná hodnota mezery (nevím jaký je výsledný vzorec)? Pokud provedete naformátování musí fungovat.
Přidáno: 15.02.12 11:54
Děkuji za rychlou reakci. Abych shrnul co se počítá. V závislosti na datumu a čase se vypisuje kdo má momentálně pohotovost. Výsledek je celé jméno (Petr Novák), s mezerou. K výpočtům používám funkce Když, A, SVyhledat. V průběhu výpočtů se v novém vzorci odkazuji na buňky kde již je nějaká funkce. Konečný výsledek je pomocí fc. Concatenate. Jména která se vypisují ve výsledné buňce si bere z běžného textu. Zkoušel jsem ve jménu vynechat mezery ale formátování se o moc nezlepšilo. Možná již dělám chybu v některém z výpočtů
Přidáno: 15.02.12 14:52
To Štěpán: Tak v Concatenate postupně nahrazovat jednotlivé proměnné a zjistit které to dělá. Jelikož není problém buňku naformatovat, je potřeba zjistit co formátování ovlivňuje. Zkusit do jiné buňky = buňka s vzorcem Concatenate zda s formátem je také stejný problém.
Přidáno: 16.02.12 07:19
Díky moc za radu, pokusím se funkci opravit či ji rovnou nahradit něčím jiným. Proto asi další zádrhel... existuje makro (nebo funkce) která by mi kontrolovala v jednom sloupci 8 řádků (A1:A8) a v případě že se v některém z 8mi řádků zobrazí nějaký text mi tento nechala zobrazit v jiné buňce(např.C3)? A hlavně jak udělám aby mi to případné makro kontrolovalo automaticky a já ho nemusel pokaždé ručně spouštět. Předem moc dík
Přidáno: 16.02.12 14:51
To Šttěpán: Využít události listu, například SheetChange (změna v listu)http://office.lasakovi.com/excel/vba/vlastnosti-metody-udalosti-kolekce-excel-vba/ cyklem for 1 to 8 přes if zjišťovat, zda buňka obsahuje text.
Přidáno: 16.02.12 15:38
Tak jsem nakonec využil funkci Pročistit a problém je vyřešen. Veškeré info jsem čerpal z vašich stránek takže je to super a moc vám dííík
Přidáno: 16.02.12 16:38
To Štěpán: Gratuluji k vyřešení. Jsem rád, že stránky pomáhají.
Přidáno: 25.02.12 16:05
Zdravím, Potřeboval bych v tabulce udělat asi makro na "vyber řádek, vlož nový (pod/nad je to jedno) a zkopíruj do něj obsah původního" Jenže, takovýchto řádků mám v tabulce několik na random pozicích, takže bych potřeboval způsob jak to vymslet aby mi to zkopírovalo jen řádky které předtím označím
Přidáno: 12.04.12 15:51
Dobry den,chcel by som sa spytat: Ked zadam do TextBox-u cislo napr. na dve dasatinne miesta a chcem to nacitat do bunky v zosite. V bunke sa mi zobrazi hodnota cisla ako text, bez cisel za desatinnou ciarkou. Pred cislom v bunke sa vytvori apostrof. Ako tento problem odstranit, aby som mal v bunke zapisane cislo s desatinnou ciarkou? Dakujem velmi pekne za odpoved.
Přidáno: 12.04.12 19:54
To Martin: viz článek: http://office.lasakovi.com/excel/vba-listy-bunky/radky-sloupce-excel-vba-kody/
Přidáno: 12.04.12 19:58
To Andrej: nastavit příslušný formát například takto:
Range("a1").Value = CDec(Me.TextBox1.Value)
CBool
CByte
CCur
CDate
CDbl
CDec
CInt
CLng
CSng
CStr
CVar
nebo nastavit formát textbox
TextBox1.Text = Format(Number, "0.00")
Přidáno: 10.05.12 13:25
zdravim potrebujem poradit s makrom .mam tri stlpce a chcem aby zo stlpca A vybral vsetky hodnoty napriklad "009" a scital hodnoty v C podla stlpca B. priklad v stlpci B sa nachadza 3x "112" pre "009" v stlpci A. v stlpci C ma kazda "112" inu hodnotu a tie chcem scitat. vysledkom bude tab 111 = ??? 112 = ??? 211 = ??? atd. dufam ze je to zrozumitelne vysvetlene. poradte prosim ako zapisat makro. vstupne data A B C 008 231 0,35951990495 008 243 0,39733340372 008 231 0,00084065193 008 411 0,25443966339 008 324 3,80155775217 009 311 0,09992048863 009 112 0,00083684832 009 211 45,94512305510 009 512 0,08039077068 009 324 0,41974515393 009 121 0,44113070070 009 141 0,55228658827 009 112 8,71109016533 009 311 3,52031756380 009 222 0,60390707015 009 112 1,56412570854 010 211 28,00392873070 010 311 4,71930247394 010 243 0,29071348127 010 211 1,64391386883
Přidáno: 30.10.12 09:12
Dobrý den, chtěla bych vás poprosit o radu. Potřebovala bych vytvořit makro, které by mi určitou buňku vyplnilo názvem např. třetího listu.Název listu je pevný a potřebuji aby se vyplnil do prvního listu určité buňky. Děkuji moc za radu.
Přidáno: 30.11.12 09:12
Dobrý den pane Lasák Mám problém nad databází wis.accdb chci provést kalkulace formou SQL příkazů a výsledek potřebuji zapsat do konkrétní bunky v Excel sešitu. Teď mi to nedělá nic. Viď makro. Děkuji za pomoc. Dim varConn As String Dim varSQL As String Dim varSQL1 As String Dim varSQL2 As String Dim varSQL3 As String Dim varSQL4 As String Range("D3").Select varConn = "ODBC;DBQ=wis.accdb;Driver={Driver do Microsoft Access (*.accdb)}" varSQL = "SELECT SHIFTPRD.DATETIME, SHIFTPRD.HINBAN, Sum(SHIFTPRD.ORILEN), count(SHIFTPRD.KIDAI)/2,Sum(SHIFTPRD.ORILEN)/count(shiftprd.kidai)*2 AS SumOfORILEN" varSQL1 = "FROM SHIFTPRD" varSQL2 = "GROUP BY SHIFTPRD.DATETIME, SHIFTPRD.HINBAN" varSQL3 = "HAVING (((SHIFTPRD.DATETIME) Between to_date('27.08.2012','dd.mm.yyyy') And to_date('27.08.2012','dd.mm.yyyy')) AND ((SHIFTPRD.HINBAN)='3660'))" varSQL4 = "ORDER BY SHIFTPRD.DATETIME;" With ActiveSheet.QueryTables.Add(Connection:=varConn, Destination:=Range("D3"), Sql:=sqlstring) .CommandText = varSQL .CommandText = varSQL1 .CommandText = varSQL2 .CommandText = varSQL3 .CommandText = varSQL4 End With
Přidáno: 30.01.13 18:11
Dobrý den, potřeboval bych pomoc s makrem, které by kopírovalo sloučené buňky na listu 1 na na jednu konkrétní buňku na listu 2 ve stejném sešitě. Potřebuji překopírovat pouze hodnotu bez vzorců a formátů. Na listu 1 mám sloučené buňky H2:L3 a na list 2 toto potřebuji vložit do A3. Je možné toto pomocí makra vyřešit??? Děkuji za pomoc
Přidáno: 30.01.13 20:04
To Katka, Peter: Tohle je na samostatné články, tj. bude-li čas. Zatím zkuste www.pc-help.cz, tam je více osob schopných poradit (určitě to bude rychlejší). To Honza V: Přečtení hodnoty viz: http://office.lasakovi.com/excel/vba-listy-bunky/precti-udaj-do-bunky-excel-vba/
Přidáno: 13.03.13 13:51
dobrý den, potřebovala bych v proceduře Cell Replace nastavit do parametru LookAt aktuálně označenou oblast, aby se činnost vykonala je ve vybraných buňkách. (zatím tam mám xlPart)
Přidáno: 11.06.13 09:13
Dobrý den, potřeboval bych poradit s kopírováním sloupcú z jednoho sešitu nebo listu do druhého. Děkuji
Přidáno: 04.07.13 11:36
lze nějak nastavit buňku, aby pokaždé když do ní napíšu číslo, tak udělalo součet? tzn poprvé do ní napíšu 10, podruhé do té samé buňky 15, zobrazí se 25?
Přidáno: 04.07.13 17:43
To Alena: Zatím doporučím http://msdn.microsoft.com/en-us/library/office/ff194086.aspx, bude-li chuť něco o tom napíšů.
Přidáno: 04.07.13 17:50
To Borek: Třeba takto:
Dim zdrojSloupec As Range, cilSloupec As Range
Set zdrojSloupec = Workbooks("sesit1.xlsm").Worksheets("List4").Columns("A")
Set cilSloupec = Workbooks("sesit2.xlsm").Worksheets("List4").Columns("A")
zdrojSloupec.Copy Destination:=cilSloupec
Přidáno: 04.07.13 18:00
To Pepa: Doplnil jsem článek
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$M$7" Then
Application.EnableEvents = False
Target = Target + Range("M8").Value
Range("M8") = Target
Application.EnableEvents = True
End If
End Sub
Přidáno: 25.11.13 02:35
Dobry den, chtel bych se zeptat, jak by se dala rozšířit přes makra možnost vkladaní od dalsi klavesove zkratky, kdy kazda zkratka by vlozila jiny text napr na zkratku ctrl + q si ulozit, ze do radku, ve kterem je prave oznacena bunka (napr A1) by se po pouziti zkratky vlozil text do bunek (napr A1, A3,A4 a A7, pokud by se pote dal oznacila bunka v jinem radku (napr 1C) a pouzila se stejna zkratka, tak by se text vlozil do stejne pozice avsak na dalsim radku (tedy C1, C3, C4 a C7) pokud by se pouzila zkratka jina napr ctrl + w, tak by se do techto bunek vlozil jiny text, pokud by to byla zkratka ctrl + e tak zase jiny atd celkove mi jde o to, abych oznacil na zacatku radku bunku, stiskl klavesovou zkratku a podle te zkratky mi to do toho radku doplnilo informace, ktere bych si dopredu nastavil prave na tuto zkratku dekuji za radu
Přidáno: 07.02.14 15:16
Dobry den, chtel bych se zeptat, jak by bylo mozne nastavit makro pro vyber jednotlivych hodnot z jednoho sloupce, ale s pravidelnym odstupem napriklad peti radku, a vypsat je za sebou do radku. Nedari se mi na to aplikovat zadny z vyse uvedenych postupu...moc dekuji za pripadnou radu.
Přidáno: 21.03.14 21:58
Dobrý den, Prosim potřeboval bych poradit. Chci zadat Číselnou řadu štítků do List2, prvního sloupce Ale aby řada začínala např: "HX" & (číslo z List1 bunka F5) končila "HX" & (číslo z List1 bunka F9). Pokousel jsem se pouzit Vas vzorec: Private Sub CommandButton1_Click() For i = ???? Cells(i, 1) = "HX" & i Next i End Sub Bohužel nevím co zadat do For i = x to y Aby x a y fungoval jako odkaz na buňku s hodnotou. Děkuji předem Moc si vážím Vašich znalostí
Přidáno: 22.03.14 08:10
To Mechac: Jak číst údaj z buňky http://office.lasakovi.com/excel/vba-listy-bunky/precti-udaj-do-bunky-excel-vba/
Přidáno: 24.03.14 14:34
Zdravím Pavle, Zkoušel jsem se prohrabat Vaší nápovědou a pochopil čtení buněk ale stále je nejsem schopen aplikovat do výše uvedeného vzorce:( (jsem napr. začátečník) Není mi jasné jak nastavit aby začlo pořadí od čísla 96107 = a a končilo 96175 to znamená 69 hodnot začínajících HF96107 a koncilo HF96175 přitom musí a i b býti proměná v závislosti na odkazu v bunce. Přitom výsledek se má zapisovat od bunky A1 v sesitu 2. Toto zjevně nefunguje, bohužel jsem se nebyl schopen dobrat výsledku ani po soustavném hledání na netu. nejblíže snad byla fce loop, ovšem stále je tu problém s definicí rozsahu a pole výstupu. Sub zadej_radu() a = Worksheets(1).Range("F5").Value b = Worksheets(1).Range("I5").Value For i = a To b Cells(i, 1).Value = "HF" & i i = i + 1 Next i End Sub omlouvam se za upravu , ale nevim jak do příspěvku zalomit řádek... Pěkný den M
Přidáno: 25.03.14 16:29
Zdravím,už nějakou dobu se snažím programovat ve VBA,ale poslední dva dny se snažím vyřešit chybu v kódu který jsem napsal ( viz níže).Abych popsal můj problém - pomocí checkboxu určuji jaká hodnota se má zapsat do buňky ano - ne. Problém který mám je ten,že hodnota "ano" se mi zapíše,ale honota "ne" se zapíše jako prázdné políčko.Kde mám chybu? Předem díky za pomoc. Private Sub CheckBox1_Click() If CheckBox1.Value = True Then DalsiRadek = _ Application.WorksheetFunction.CountA(Range("A:A")) + 4 Cells(DalsiRadek, 2) = "ano" End If If CheckBox1.Value = False Then DalsiRadek = _ Application.WorksheetFunction.CountA(Range("A:A")) + 4 Cells(DalsiRadek, 2) = "ne" End If End Sub
Přidáno: 06.04.14 03:19
Zdravím je možnost, aby se mi při stisknutí tlačítka přepnul list na jiný, a zapsal data z paměti do bunky B4 jako při ctrl+v
Přidáno: 08.04.14 23:19
Zdravím, řeším problém s makrem pro posuvník. Pokusím se popsat o co mi jde. První důležitá věc: Posuvník lze nastavit na nejmenší přírůstkovou hodnotu 1 a já potřebuji po 0,01 což by nebyl takový problém, lze to vyřešit tak, že výsledek posuvníku dám do jiné buňky a ten pak ve výsledné buňce vydělím čím chci, ale tady nastává problém. Já do výsledné buňky musím i zapisovat ručně, ale pokud je tam vzorec, tak to samozřejmě nejde. Dám příklad: Buňka A1 je zapisovací pole vedle které je posuvník, její hodnota je nyní např. 0,24. Přepíšu hodnotu 0,24 třeba na 0,28 a při kliknutí na posuvník do plusu mi musí skočit hodnota 0,29. Posuvník takto funguje i bez makra, ale bohužel přírůstek po 1. Předem díky za pomoc
Přidáno: 09.04.14 12:14
som úplný makro začiatočník. Ja by som potreboval celkom jednoduchú vec: Mám zoznam čísel (stĺpec:A: Nachádzam sa v prázdnej bunke: B1 Keď kliknem na vyrobené tlačidlo priradené k makru, chcem aby mi vyplnilo bunku B1 hodnotou z A1 a zároveň prešlo na bunku B2. Znovu kliknem na tlačilo vyplním bunku B2 hodnotou z A2 a prejdem na bunku B3. atď ..... stále potom by sa to opakovalo. Ďakujem
Přidáno: 10.06.14 00:25
Dobrý den, prosím o pomoc s makrem.Potřeboval bych při spuštění sešitu, aby v buňce A1 automaticky přičítalo hodnotu +1 (jako např. pořadové číslo faktury). Předem moc děkuji.
Přidáno: 30.06.14 15:02
To Jozef: Selection.Offset(0, 0) = Selection.Offset(0, -1)
Selection.Offset(1, 0).Select
Přidáno: 30.06.14 15:37
To Tomáš: na ThisWorkbook treba vložiť: Private Sub Workbook_Open()
Range("A1") = Range("A1") + 1
End Sub
-- a samozrejme po skončení práce uložiť súbor (s aktuálnou hodnotou)
Přidáno: 16.07.14 18:16
dobrý den, potřeboval bych poradit s excelem, konkrétně VBA. když například napíši do A1 číslo 20, které ukazuje počet měsíců, potřebuji, aby mi toautomaticky od A2 do A21 vyplnilo datumy vždy po měsících. příklad: A1=10 tedy automaticky se vyplní A2=1.1.2014, A3=1.2.2014, A4=1.3.2014 .... atd moc děkuji za odpověd
Přidáno: 22.07.14 09:31
To wondr:PocetMes = Range("A1") ' počet mesiacov
Range("A2") = "1/1/2014" ' počiatočný mesiac
Range("A2:A" & PocetMes + 1).DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:= _
xlMonth, Step:=1, Trend:=False
Přidáno: 22.07.14 13:56
To David: (zároveň je to aj odpoveď na otázku z: -- http://office.lasakovi.com/excel/prakticke-priklady/dynamicka-tabulka-excel/'Vložiť do Sheet Module
Option Explicit
Dim OldVal
Private Sub ScrollBar1_Change()
'Posuvník po stotinách (1,01; 1,02 atď)
Dim i As Long
Dim minVal, maxVal
minVal = 0
maxVal = 10
With ScrollBar1
.Min = minVal
.Max = maxVal * 100
If .Value > OldVal Then
.Value = Cells(1, 1) * 100 + 1
Else
.Value = Cells(1, 1) * 100 - 1
End If
OldVal = .Value
Cells(1, 1) = OldVal / 100
End With
End Sub
Přidáno: 22.07.14 15:00
To Ivan:
Private Sub CheckBox1_Click()
With Application.WorksheetFunction
DalsiRadek = .CountA(Range("A:A")) + 4
If CheckBox1.Value = True Then
Cells(DalsiRadek, 2) = "ano"
Else
Cells(DalsiRadek, 2) = "ne"
End If
End With
End Sub
Přidáno: 22.07.14 15:15
To Mechac: Sub zadej_radu()
'Sem vložiť hodnoty
a = Worksheets(1).Range("F5") ' prvý riadok
b = Worksheets(1).Range("I5") ' posl.riadok
'Výstup
For i = a To b
Cells(i, 1) = "HF" & i
Next i
End Sub
Přidáno: 22.07.14 15:31
To Jakub: Ak som dobre rozumel otázke:Sub Test()
'Riadky čítané s pravidelným odstupom a zapisované za sebou do jedného riadku
ofs = 0
With Cells(1, 2) ' v tejto bunke začne vypisovať
For i = 1 To 20 Step 5 ' odstup = 5
.Offset(0, ofs) = Cells(i, 1)
ofs = ofs + 1 ' 1 = posun výpisu o 1 bunku vpravo
Next i
End With
End Sub
Přidáno: 12.08.14 14:35
Mám tabulku kde je uveden kod a suma (Např.U21 = 1000, U16=200 a kod i suma jsou v jednotlivých sloupcích) + další doplňující informace. Sumy mohou být zadané nebo vypočtené. A já se snažím umožnit uživateli definovat sám vzorec, který by si makro přečetlo a pak podle toho vypočetl výsledek. Vzorec by mohl být zapsán např. ((U21+U16)-5)*-1 nebo "když(U21>100;5;0) apod. Abych toho dosáhl, tak dnes nutím uživatele zapsat kod a / nebo operand do samostatných sloupců a předpokládám, že to co není kod je operand (+ - * ()apod.). Když pak spustím makro, předpočítám si hodnotu dle kodu a pak si složím hodnoty ze sloupců. (něco ve VBA a na něco používám skrytý výpočtový list) (z toho 1 řádku co právě počítám), kody nahradím vypočtenou hodnotou a dostávám nějaký výsledek, který zapíšu. Je to komplikované a i uživatele nutím dělat tvorbu popsaným způsobem. Byl bych rád, aby se vzorec zapsal do 1 buňky v předepsaném formátu a já ho pak dokázal ve VBA rozdělit a spočítat. Děkuji
Přidáno: 18.08.14 10:59
Dobrý den, Můžete mi prosím poradit. Potřebuji okótovat součást v excelu tak, aby hodnoty z tabulky byly automaticky přepisovány do obrázku při zadání označení velikosti součásti. Příklad: součást je označována velikostmi. Každá velikost má jiné rozměry, které jsou uvedeny v souhrnné tabulce. Pro zákazníka potřebuji vytvořit rozměrový náčrtek. Aby zákazník nemusel každý rozměr vyhledávat v tabulce dle odkazového písmena na kótě, tak to vyhledávám já a přepisuji ke kótám správné hodnoty. Když je ale součástí víc, tak je to zbytečně zdlouhavé a pracné. Chtěl jsem, že bych do excelu vložil obrázek a na místo hodnoty na kótě bych vložil textové pole. Už ale nevím, jak si mám nastavit, aby se hodnoty z tabulky přepisovaly do tohoto textového pole. Používám Microsoft Office Excel 2007. Děkuji
Přidáno: 04.09.14 04:01
Ahoj potřeboval bych poradit. Dělám programek v excelu na vkládání materiálu do skladu. A potřebuji aby by z listu1 se zkopírovali buďky na list2 aniž by se mi list2 zapl. použil jsem ActiveSheet.paste Destination:=worksheet("list2").cell(a ,2) vše funguje jak má jenže původně jsem měl klasické pastespecial a vkládání bez formátování tudíž pouze hodnoty. Což je i super v tom že mi to vždy hodilo z první buňky kde mám vzorec =Nyní() aktuální čas a nekopirovalo vzorec a přidání na list2 všetně materiálu atd do tabulky která má svůj format který byl zachován. A přes ActiveSheet.paste si absolutně nevím rady jak vkládat pouze hodnoty.
Přidáno: 08.09.14 10:26
To Bellero: -- 1) cez Value napr: -- Sheets(2).Range("A1") = Sheets(1).Range("A1").Value -- 2) cez PasteSpecial: -- Range("A1:A5").Copy Sheets("List2").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
Přidáno: 08.09.14 10:43
To Bellero: ...v bode 2 je za ".Copy" nový riadok...
Přidáno: 01.10.14 10:23
Zdravím, snažím se vybrat oblast buněk a do té oblasti zkopírat text z jiné oblasti. Oblast do které budu kopírovat má proměnlivé číslo řádku. Využívám tedy kód pro najití PrvníhoPrázdnéhoŘádku. Ten mne funguje. Druhý krok je najití oblasti do které se má nějaký ten text zkopírovat. A tady mám problém. Snažím se zhruba o toto:
a = Worksheets("Pomoc X").Range("b9:c9")
Application.Goto ActiveWorkbook.Sheets("Pomoc X").Range(Cells(PrvniPrazdnyRadek, 9), Cells(PrvniPrazdnyRadek, 10))
Selection = a
První řádek má vybrat data pro zkopírování a druhý příkaz má vybrat oblast kam zkopírovat z "a". Nicméně ať dělám co dělám, nejsem schopen zkombinovat výběr aktivního listu, a výběr oblasti s proměnlivým číslem řádku. Výběr aktivního listu je tam z důvodu, že tlačítko pro spuštění makra je na jiném listu. Je to vůbec možné nějak tak, jak jsem to vytvořil? Pokud místo "cells" použiju "range" s pevně stanovenou oblastí, pak vše funguje jak má. Ale s proměnlivým číslem řádku to nějak nefunguje.
Děkuji za jakoukoli radu
Přidáno: 06.10.14 08:30
To Poipop: -- a = Worksheets("Pomoc X").Range("b" & poslednýRiadok & ":c" & poslednýRiadok)
Přidáno: 01.12.14 11:00
Ahoj šikulové. . Používám Excel a "Extra Personal client" dohromady, jelikož na PUTTY bych musel používat AutoIT a nemohl bych během tohoto procesu pracovat s PC :-( . Tak a teď hurá problém. Když si pošlu na síť data z E!PC, vba-čkem otevřu, upravím a vložím do sešitu, tak mi to zabere najednou cca +120MB paměti. A pořád to narůstá do hodnot, kdy PC přesává jaxi "myslet". 10 záznamů = 1,1GB RAM! A to je jenom Excel, dámy a pánové. Je nějaké "udělátko", které by po vložení dat "pročistilo" aspoň z části paměť? Dodatek: je to pracovní PC, takže jakési rozšíření RAM "NEEXISTUJE" (nejsou $$$) . Děkuji za čas a snahu si toto přečíst.
Přidáno: 03.12.14 12:04
To Mishko71: -- Uložiť súbor alebo zavrieť súbor(bez uloženia) alebo niečo takéto: -- Set Premenná = Nothing -- by nepomohlo?
Přidáno: 04.12.14 19:29
To Jojo: To by bylo možné až potom, když sešit zpracuje všechna data (1 sešit = 2 listy na úpravu + 10 listů s výsledkem). Navíc pak ještě otevře další sešit, kde ty data vloží "propojením". Abych měl surové data, musím zkopírovat (v otevřeném sešitě výsledek) a vložit jako "Hodnota". Pak soubor uložím a když zavírám zdrojový sešit, všechny vytvořené listy (10) se vymažou a zůstanou tam jenom ty dva základní listy. Asi pro lepší představu udělám video (cca 7min) a pak ho někam uložím. Jak jsem psal, dík za přečtení ;-)
Přidáno: 05.12.14 07:31
To Mishko71: -- Excel nemá problém ani s väčším počtom listov ako 12, samozrejme záleží na tom, že koľko buniek je vyplnených. -- Keď však dobre rozumiem zo dňa 04.12.14, tak možno by pomohlo nevytvárať naraz 10 pomocných listov, ale POSTUPNE kopírovať(prenášať údaje, prepojenia) do ďalšieho zošitu.
Přidáno: 21.12.14 15:00
Ahoj mám problém s tím, když dělám na listě 2 tabulku a chci aby se mi měnili hodnoty při zadávání do tabulky na listě 1. Co s tím? Ještě neumím sečíst v tabulce celkové ceny př.ledniček, jsou však nakombinované s jinými elektro-spotřebičemi, jde to mějak souhrnně, abych to nemusela sčítat vzorcem po jednom? Budu ti velice vděčná,jelikož se s tím trápím několik hodin.
Přidáno: 11.01.15 17:05
Dobrý den pane Lešáku, děkuji za skvělé stránky, které jste připravil a mám jeden dotaz, na který jsem nenašel na Vašich stránkách odpověď či návod. Potřeboval bych poradit s tvorbou formuláře (dotazníku). Chtěl bych, aby se na začátku objevilo tlačítko spuštění, po stisku tohoto tlačítka se objevovala jednotlivá okna obsahující otázky a uživatel by do těchto oken doplňoval údaje. Tyto údaje by se propisovaly do jednotlivých buněk přiřazeným ke konkrétním otázkám. (příklad: v buňce A1 bude otázka: Vaše jméno a příjmení: ; v buňce B1 bude editována odpověď z okna, ve kterém bude dotaz na jméno a příjmení). Děkuji za pomoca odpověď.
Přidáno: 13.01.15 07:15
To Gábina: -- jednotlivé spotrebiče sčítavať cez SUMIF() + potom preniesť výsledok na iný list cez =Hárok1!A1. Výrazne lepšie je však použiť kontingenčnú tabuľku(vyžaduje však o niečo viac skúseností)
Přidáno: 13.01.15 08:05
To Franta Smutný: -- je potrebné použiť makro. Bez makra by možno bolo k niečomu v Exc2003 "Data/Formulář..."
Přidáno: 02.02.15 21:39
To Jojo: Dík zy odpověď, ale právě na makro jsem se zde ptal. Nevím jak jej vytvořit.
Přidáno: 04.02.15 10:37
To Franta Smutný: -- pre riadky 1až5:Sub Test()
For rw = 1 To 5
odpoved = InputBox(Cells(rw, 1), "Prosím zadaj odpoveď!")
Cells(rw, 2) = odpoved
Next rw
End Sub
Přidáno: 19.02.15 15:19
Dobrý den. Jsem nováček Mám tabulku cca o 5000 řádcích a 10 sloupců když provedu filtr tak jak potřebuju zůstane mi zhruba 10-20 řádku ty řádky potřebuju kopírovat do druhého listu. tady je část makra Dim PosledniRadek As Long, i As Long Dim OznacOblast As Range With Sheets("database") PosledniRadek = .Range("A" & .Rows.Count).End(xlUp).Row For i = 1 To PosledniRadek If Len(Trim(.Range("A" & i).Value)) <> 0 Then If OznacOblast Is Nothing Then Set OznacOblast = .Rows(i) Else Set OznacOblast = Union(OznacOblast, .Rows(i)) End If End If Next If Not OznacOblast Is Nothing Then ' tato oblast se může zkopírovat ... OznacOblast.Copy Sheets("pomocný list").Rows(10) OznacOblast.Select End If
Přidáno: 23.02.15 06:14
Zdravím, potřeboval bych poradit (nejlépe vytvořit) makro na zápis času do buňky. Řekněme mám sloupec A, kam elektronicky zapisuji data a potřebuji zjistit, kdy byla data zapsána. Na to by měl sloužit sloupec např. B kde by v každém řádku při každé hodnotě byl záznam kdy byla hodnota zapsána. Předem děkuji za reakci. Martin
Přidáno: 23.02.15 07:13
To Martin: -- viď komentár z 01.12.14 na: http://office.lasakovi.com/excel/funkce/ms-excel-funkce-en-cz/
Přidáno: 16.03.15 15:29
Dobrý den, je možnost nějakého odkazu, že když v buňce A1 dám hodnotu 11, označí se mi automaticky buňka např. A11 , děkuji.
Přidáno: 12.05.15 10:37
Dobrý den, děkuji za mnoho užitečných rad na Vašich stránkách. Tvořím makro Function (...) které vrací i přibližnou shodu zadané hodnoty v zadané řadě. Má se vracet 1 hodnota, ale v případě že není možné vrátit hodnotu podle zadání (např. nejbližší vyšší) tak chci vrátit alespoň nejbližší hodnotu + někam (nejlépe do listu LOG na jeho konec) zapsat chybovou zprávu. Vracet chybu funkcí nechci protože sešit je velmi obsáhlý a 1 chyba obvykle spustí lavinu cca 100 chyb. Zapisovat do buněk Function neumí, lze to obejít nějakou fintou ? Makro bude voláno v mnoha místech sešitu s různými parametry, Sub se mi zdá nevhodné. Děkuji.
Přidáno: 03.06.15 12:04
Dobrý den, mám také jeden dodaz. Mám listy udělané v podobě A4 papíru, do kterého přidávám po stisknutí tlačítka vždy jeden nový řádek. Tyto řádky přidávám do oblasti, která je z obou stran ohraničená textem. Potřeboval bych funkci, která mi zajistí to, že po přidání jednoho řádku se mi text pod tímto nově přidaným řádkem posune o jeden řádek níže, aby se udělal prostor pro vložení dalšího řádku. Doufám, že to je takto srozumitelné. Děkuji za odpověď
Přidáno: 23.06.15 07:42
Stačí tento kod zadat v Editoru jazyka Visual Basic do okna List1.
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveSheet.Range("A1").Value = 11 Then
Range("A11").Select
End If
End Sub
Nebo tento kod do okna ThisWorkbook.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Range("A1").Value = 11 Then
Range("A11").Select
End If
End Sub
Přidáno: 01.07.15 15:41
to David Spouštění funkce Na rozdíl od procedur Sub, které lze spouštět mnoha různýmy způsoby, je možné funkci spustit jen: - voláním z jiné procedury, - jejím použitím ve vzorci na pracovním listu. O Funkcich najdete v tomto odkazu http://office.lasakovi.com/excel/vba-funkce-vzorce/vlastni-funkce-excel-VBA/
Přidáno: 24.07.15 17:17
Dobrý deň . Chcem poprosiť o radu akoby sa dalo spraviť mako ktoré by počítalo , počet automatických prepočtov ?? Vďaka ..
Přidáno: 11.09.15 13:58
Dobrý deň, Mohol by som poprosiť o radu pri treťom ("elegantnom") riešení. Jedná sa len o jedinú zmenu a to aby sa pripočítavanie hodnoty vykonávalo nie v jedinej bunke ale v rozsahu/množine. Napr.: B2:D7 a podobne. Vopred vďaka
Přidáno: 08.11.15 22:52
Ahoj, řeším zápis dat z z formuláře vytvořeného v excelu do listu sešitu excel. Určitě je na to nějaké jednoduché makro, buohužel zatím nevím jaké... Za každý nápad budu vděčný... Díky K.
Přidáno: 11.11.15 19:40
Dobrý den, snažím se vytvořit formulář, který z TextBoxu vezme hodnotu a zapíše ji například do buňky A2 po stisknutí tlačítka OK. toto mám zvládnuté, cislo = 2 Range("A" & cislo) = TextBox1.Value ale nevím jak dále udělat, že po stisknutí tohoto tlačítka se automaticky smaže hodnota v TextBoxu (číselná) a následně se nastaví buňka k zápisu u dva řády vyšší (A4) a tak stále dokola (A6, A8, A10 atd..) další postup při stisknutí tlačítka "OK mám hotovo" např sečti všechny hodnoty vypiš text atd je už pak prakticky jednoduchý, ale zasekl jsem se na problému cyklu, kdy při stisknutí tlačítka bude hodnota následně o dva řády vyšší. Ví si s tímto problémem někdo rady ? Poradil by někdo kdo se s tímto "problémem" už setkal ? Děkuji za každou radu
Přidáno: 20.11.15 11:59
Dobrý den. Veliké pls. Mám na 1.listu export z databáze, kde je spoustu hodnot přiřazených jednotlivým osobám (některá má jednu hodnotu některá třeba 10). Osoby jsou zobrazeny jako osobní číslo. Na 2. listu je seznam osobních čísel a jména osob ve dvou sloupcích. Potřeboval bych aby se na 1.listu místo čísel objevovali jména. Děkuji.
Přidáno: 15.12.15 14:18
Zdravím, mám na Listu 1 pár údajů jako číslo zakázky, výrobek číslo atp. ve sloupci J mám seznam 5 textových hodnot přičemž jedna je Vyřešeno-Oprávněná Reklamace, pokud člověk zatrhne tuto hodnotu chtěl bych aby se celý řádek (číslo zakázky, výrobek číslo...atp) zapsal na další list věděl někdo jak na to ? (v konečné fázi úplně nejlepší by bylo aby se řádek po zvolení v seznamu hodnoty vyřešeno propsal na další list a nešel upravovat, až třeba po zvolení jiné hodnoty ze seznamu by zase šel upravit (aby např když člověk zapomene nějákou hodnotu z listu zapsat třeba číslo výrobku, tak aby musel pro opravu odkliknout jinný stav než vyřešeno kvůli integritě a kompletu dat.
Přidáno: 15.12.15 14:19
Zdravím, mám na listu 1 ve sloupci J seznam 5 hodnot z kterých uživatel vybírá (1-Neřešeno,2-řeší se, 3-vyřešeno oprávněná reklamace, 4-vyřešeno neoprávněná reklamace a 5-nevyřešeno), pokud vybere hodnotu 5-Vyřešeno, tak bych chtěl aby se ten daný řádek v kterém vybíráme propsal na list 3, nějáký nápad jak to udělat ? V práci řešíme reklamace od zákazníků a chci ukládat jen oprávněné reklamace a ty mají právě status 5-vyřešeno
Přidáno: 28.01.16 23:06
Zdravím,
kód přímo do worksheetu - při kliknutí na buňku C3 se zapíše hodnota "ANO", po dalším kliknutí se přepíše "NE"...
Je to vlastně něco jako checkbox
pokud chci změnu ve více definovaných buňkách, také není problém:
Set rng = Range("C3, C5, D8, D10")
Ale netuším, jak nadefinovat více buňkám změnu nezávisle na sobě -> pouze tam, kde kliknu.
Věděl by mi někdo pomoct? Děkuji předem...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Set rng = Range("C3")
If Application.Intersect(Target, rng) Is Nothing Then
Set mRngOld = Target
Exit Sub
End If
If rng.Value = "ANO" Then
rng.Value = "NE"
Else
rng.Value = "ANO"
End If
End Sub
Přidáno: 03.02.16 10:51
Dobry den, som zaciatocnik vo VBA. Potreboval by som pomoct s makrom ktore vlozi napr. do kazdeho 4 riadku vo vsetkych stlpcoch tabulky zorec ktory scita hodnoty nad nim a tak az do konca tabulky. Dufam ze som to napisal zrozumitelne. Dakujem
Přidáno: 07.02.16 08:44
Zdravím, jak můžu přiřadit proměnné i buňky A2 až A10 taky buňky B2 až B10, tak aby pomoci Case Is se vypočítaly buňky B2 až B10. Napsal jsem to takhle, ale je to špatně: For i = 2 To 10 Step 1 Select Case Range("Ai") Case Is <= 300 Range("Bi") = Range("Ai") * 0.15 Case Is <= 4000 Range("Bi") = Range("Ai") * 0.1 Next i Diky
Přidáno: 23.02.16 23:39
Přeji hezký den, potřebuji v databázi najít x různých hodnot a vždy do vedlejšího sloupce zapsat hodnotu tak, abych mohl podle ní vyselektovat řádky s daty. Můžete mi poradit ?
Přidáno: 16.03.16 13:48
Ahoj potřeboval bych poradit jak provést kopírování sloupce např. B od určitého řádku do jiné záložky. Sloupec B zobrazuje jména. . Tyto jména se náhodně objevují v jiných záložkách a mají v tabulce přiřazenou určitou hodnotu. Potřebuji naprogramovat tlačítko tak aby, po kliknutí porovnala seznam jmen a určitou hodnotu ze sloupce D v záložce 2 zapsalo v nové záložce do sloupce C. Děkuji
Přidáno: 22.04.16 09:03
Dobrý den, používám odkazu pro slučování buněk =CONCATENATE ("A1,";"B1,";"C1,";"D1,"), ale nechci se vypisovat s celým řádkem, rád bych použil rozsahu buněk A1:D1 tažením myši. Děkuji za odpověď, s pozdravem Jenda P.
Přidáno: 22.04.16 09:20
už vím, např. zadat =(J8:J15)&"," stisknout klávesu F9 smazat složené závorky na začátek vložit =CONCATENATE( na konci (ne)smazat čárku za posledním znakem a vložit ) stisknout Enter a je to :-)
Přidáno: 07.05.16 22:53
Dobry den, mne sa tie makra, kde je v definicii SUB pouzity parameter ByVal, nedaju vôbec spustit (ani F5 ani F8), ponukne mi pripadne vyberove okno na makra, ale ani tam nie je dane makro zobrazene. Kde moze byt problem? Ak odstranim ByVal z riadku SUB, tak je makro viditelne aj spustitelne, ale nefunguje (error 424).
Přidáno: 21.05.16 17:34
Dobrý den, potřeboval bych poradit s makrem pro třídění vstupních proměnných. Zadání je takové:mám dva sloupce X a Y se souřadnicemi bodů,potřebuju tyto souřadnice seřadit podle velikosti od nejmenšího po největší podle sloupce X(ale buňka X musí sebou přesunout svou sousední buňku Y)pak se musí souřadnice Y rozdělit do dvou sloupců Y1 a Y2(pokud je hodnota <350 tak se přesune do Y1 jinak do Y2)ale dané Y si sebou musí vzít své X. např. vstup x y 15 345 1 500 15 335 15 500 vystup x y1 y2 1 500 15 345 15 335 500 Děkuji za jakoukoliv pomoc. (Makro pro roztřídění dle velikosti X a rozdělení na Y1 Y2 mám, ale jak to udělat když jsou tam dvě stená X to nevím)
Přidáno: 04.10.16 13:54
Dobrý den, jak provedu ve VB Excelu makru následující sled akcí? Vstup do buňky A1. Pokud se někde uprostřed v aktivní buňce nachází část stringu "abc" (buňka A1 je like "abc") skoč do buňky B5. Děkuji. Michal
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2024 |