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 47 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: 192
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
  • Makro pro myš Rapture Python
    od mmmartin » 27 srp 2023 15:18 » v Problémy s hardwarem
    9
    1126
    od mmmartin Zobrazit poslední příspěvek
    29 srp 2023 16:47
  • Excel a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    6326
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31
  • Excel - funkce když
    od Martyn20 » 13 črc 2023 11:56 » v Kancelářské balíky
    5
    2577
    od mmmartin Zobrazit poslední příspěvek
    13 črc 2023 18:44
  • Excel - vlastní formát Příloha(y)
    od Story-Long » 11 srp 2023 14:50 » v Kancelářské balíky
    3
    2017
    od Story-Long Zobrazit poslední příspěvek
    14 srp 2023 10:11
  • excel-posun makra
    od actionboy » 12 bře 2024 18:59 » v Kancelářské balíky
    1
    423
    od Grimm Zobrazit poslední příspěvek
    12 bře 2024 21:43

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

Kdo je online

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