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

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

Moderátor: Mods_senior

Ladanek
nováček
Příspěvky: 3
Registrován: leden 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Ladanek » 11 led 2010 09:57

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

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: vkládání vzorců

Příspěvekod navstevnik » 11 led 2010 10:34

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.

Ladanek
nováček
Příspěvky: 3
Registrován: leden 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Ladanek » 11 led 2010 19:58

Diky moc, taková drobnost, ale jak potěší.
Omlouvám se za nezaložení nového dotazu ...se polepším.

Ladanek
nováček
Příspěvky: 3
Registrován: leden 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Ladanek » 13 led 2010 22:45

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

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

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

Příspěvekod navstevnik » 14 led 2010 00:00

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.


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

Kdo je online

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