Excel VBA - Makro rozkopírovaní vzorce

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Zamčeno
msabrsula
nováček
Příspěvky: 14
Registrován: 10 kvě 2007 13:25

Excel VBA - Makro rozkopírovaní vzorce

Příspěvek od msabrsula »

Ahoj všem,

potřeboval bych poradit s jedním makrem v Excelu. V příloze je vložen ukázkový soubor.

Do sloupce A (A2:A..) importuju data z externího zdroje - každý import dat má jiný počet hodnot a sloupec A má tedy pokaždé jiný počet řádků.

Ve sloupci B chci provádět úpravu dat ze sloupce pomocí funkce. Potřeboval bych to udělat tak, aby makro vždycky rozkopírovalo určitý vzorec jen do tolika řádků, kolik je ve sloupci A dat.

Povedlo se jen udělat makro, které má fixně nastavenou oblast ("B2:B15") do které se vzorec rozkopíruje. Nepodařilo se mi úspěšně odkaz na buňku B15 nahradit něčím inteligentnějším, co by počítalo počet řádků ve sloupci A. S tím bych potřeboval pomoci.

Děkuji za pomoc a doufám, že jsem to napsal srozumitelně.

Moje vytvořené makro:
Sub Makro1()
'
' Makro1 Makro
' vlozeni vzorce
Range("B2").Select
ActiveCell.FormulaR1C1 = "=RIGHT(RC[-1], LEN(RC[-1])-1)"
' rozkopirovani vzorce
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B15"), Type:=xlFillDefault
Range("B2:B15").Select
Range("A1").Select
End Sub
Přílohy
Priklad.xlsm
(17.72 KiB) Staženo 59 x
guest

Re: Excel VBA - Makro rozkopírovaní vzorce

Příspěvek od guest »

Ach jo, hlavně že se uživatelé cpou do VBA, aniž znají list. Co vám říká Tabulka, co funkce POČET, POČET2, POSUN, budiž, ve VBA metody Offset, Resize?
lubo.
Level 2
Level 2
Příspěvky: 196
Registrován: 27 čer 2013 23:26

Re: Excel VBA - Makro rozkopírovaní vzorce

Příspěvek od lubo. »

Nastavte si to ve vlastnostech importu.
msabrsula
nováček
Příspěvky: 14
Registrován: 10 kvě 2007 13:25

Re: Excel VBA - Makro rozkopírovaní vzorce

Příspěvek od msabrsula »

Tak Konečně se mi podařilo dát makro dohromady :-)
Kdyby někdo řešil něco podobného, tak tady je výsledek:

Kód: Vybrat vše

Sub Makro()
' Zpracovani souvislych dat v jednom liste a Rozkopirovani vzorce do sloupce
Dim I As Integer

I = 2
Do While Not IsEmpty(ActiveSheet.Cells(I, 1))
 I = I + 1
Loop ' opakování cyklu
ActiveSheet.Cells(2, 2).Select
ActiveCell.FormulaR1C1 = "=RIGHT(RC[-1], LEN(RC[-1])-1)"

ActiveCell.Copy ' kopírování obsahu aktuální buňky
Range(Cells(2, 2), Cells(I - 1, 2)).Select ' výběr oblasti
ActiveSheet.Paste Selection ' rozkopírování do oblasti
End Sub

Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Přechod z Excel 21 na Excel 24
    od Snekment » » v Kancelářské balíky
    2 Odpovědi
    14269 Zobrazení
    Poslední příspěvek od Snekment
  • Pohoda a excel
    od brownwld » » v Kancelářské balíky
    1 Odpovědi
    7238 Zobrazení
    Poslední příspěvek od atari
  • Excel 2016 - vzorec kombinace podmínek
    od MK_Vs » » v Kancelářské balíky
    5 Odpovědi
    6010 Zobrazení
    Poslední příspěvek od lubo.
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » » v Kancelářské balíky
    5 Odpovědi
    5780 Zobrazení
    Poslední příspěvek od atari

Zpět na „Kancelářské balíky“