Stránka 1 z 1

vkládání vzorců ještě jednou

Napsal: 11 led 2010 09:57
od Ladanek
Zdravím. S VB v Excelu začínám, nicmeně mám potíž která je asi hodně podobná popsanému, ale nějak nevím jak nato. Makrem jsem si vyzobal pár číselných hodnot pod sebe a chtěl bych pod sloupec čísel vložit makrem vzorec pro sumu toho sloupce.
Funguje mi todle:
ActiveSheet.Cells(34, 11).Formula = "=Sum(K3:K30)"

Jak ale nahradit proměnnými (třeba x,y) právě ty K3 a K30?
Zkoušel jsem to i přes FormulaR1C1, ale nějak jsem se z toho taky nedostal.
Je to někde popsáno jak nahradit tyto hodnoty proměnnými?

Díky, moc.

//pravidla fóra nedovolují připojovat svůj dotaz do běžícího tématu, i když se jedná o stejný nebo podobný problém.Snižuje to přehlednost fóra a může se stát, že si tvého dotazu nikdo nevšimne.

//odděleno do nového tématu.

//mmm

Re: vkládání vzorců

Napsal: 11 led 2010 10:34
od navstevnik
To Ladanek: protoze dotaz byl oznacen za vyreseny, bylo zadouci zalozit novy.
Ano, lze pouzit i promenne:

Kód: Vybrat vše

Dim a As String, b As String
a = "K3"
b = "K30"
ActiveSheet.Cells(34, 11).Formula = "=Sum(" & a & ":" & b & ")"

Zda je to nekde popsano, nejspise v nejake prirucce, ale z logiky veci vyplyva, ze prikaz ActiveSheet.Cells(34, 11).Formula vklada retezec, takze je potreba ten retezec spolu s promennymi poskladat.

Re: vkládání vzorců ještě jednou

Napsal: 11 led 2010 19:58
od Ladanek
Diky moc, taková drobnost, ale jak potěší.
Omlouvám se za nezaložení nového dotazu ...se polepším.

Re: vkládání vzorců ještě jednou

Napsal: 13 led 2010 22:45
od Ladanek
Ještě taková drobnost, do buňky už se mi podařilo nacpat vzorec, nicmeně Excel jím trochu opovrhuje při zpracování.
V buňce vyskočí "#Nazev" a chybový kosočtverec - vzorec obsahuje nerozpoznaný text.
Stačí po zkončení makra na buňku klepnout a "odentrovat" v editačním řádku (=SUMA(K3:K33) - zdá se to být v pořádku)
Napadlo mě mu vnutit Enter samozřejmně se vzorcem, ale ouha.

ActiveCell.Formula = "=SUMA(" & "K" & vr & ":" & "K" & vr + rozdil - 1 & ") " & vbCr

vbCr už to nějak nechce brát.
Nesetkal se někdo s tímto? Přitom všechny hodnoty v bloku který je sumou označen jsou korektní číselné hodnoty, nebo ještě radši přetypovat?
Díky moc.

edit:
Rovnou si odpovím, podařilo se mi na to přijít. Zamikus byl v té Sumě. Má být správně napsáno SUM, ne SUMA - to Excel bere jako nějaký text, ne rezervovaný text příkazu. Měl jsem pocit že to veme český ekvivalent příkazu v řádce, ale chyba lávky zřejmně.

ActiveCell.Formula = "=SUM (" & "K" & vr & ":" & "K" & vr + rozdil - 1 & ") "

// Příspěvky sloučeny.
// Pokud chceš něco dodat a nikdo ještě po tobě nepřispěl, použij tlačítko >> Upravit << a svůj příspěvek doplň. Díky.
//mike007

Re: vkládání vzorců ještě jednou

Napsal: 14 led 2010 00:00
od navstevnik
Ve VBA je nutno pouzit anglicky tvar pouzitych funkci listu. Bohuzel ceska lokalizace prinesla dvoji nazvy funkci - v Excelu cesky, ve VBA (Application.WorksheetFunction... ) anglicky, ve slovenske lokalizaci jsou nazvy funkci listu ponechany anglicke.