Excel VBA - Makro rozkopírovaní vzorce Vyřešeno

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

Moderátor: Mods_senior

msabrsula
nováček
Příspěvky: 14
Registrován: květen 07
Pohlaví: Nespecifikováno
Stav:
Offline

Excel VBA - Makro rozkopírovaní vzorce

Příspěvekod msabrsula » 13 říj 2015 23:03

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 51 x

Reklama
guest
Pohlaví: Nespecifikováno

Re: Excel VBA - Makro rozkopírovaní vzorce

Příspěvekod guest » 13 říj 2015 23:50

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: červen 13
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel VBA - Makro rozkopírovaní vzorce

Příspěvekod lubo. » 14 říj 2015 00:13

Nastavte si to ve vlastnostech importu.

msabrsula
nováček
Příspěvky: 14
Registrován: květen 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel VBA - Makro rozkopírovaní vzorce  Vyřešeno

Příspěvekod msabrsula » 19 říj 2015 16:05

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



  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Uprava vzorce
    od junis » 27 črc 2024 15:43 » v Kancelářské balíky
    6
    5228
    od junis Zobrazit poslední příspěvek
    02 srp 2024 18:02
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4736
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12158
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4510
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41
  • Excel - výpočet nočních hodin Příloha(y)
    od Uziv00 » 17 říj 2024 11:22 » v Kancelářské balíky
    3
    3290
    od lubo. Zobrazit poslední příspěvek
    24 říj 2024 00:00

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti