Příspěvky uživatele


< návrat zpět

Strana:  1 2 3   další »

Tak takhle vypadá makro, která dělá co přesně chci, okľuka bola najlepšia :

Sub zkouskamakra()

hoa = 5

Cells(hoa, hoa).Select
Cells(hoa, hoa).Formula = "=" & Cells(7 - hoa, 7 - hoa).Address(0, 1) & "+" & Cells(7 - hoa, 7 - hoa).Address(1, 0) & "*" & Cells(7 - hoa, 7 - hoa).Address(1, 1)

End Sub

Je to jen příklad, číslo 7 nahrazuje další proměnné. Šlo mi o to jak zapsat odkaz s dolarem a bez.
Proč to řeším makrem? Protože, vzorce které se vkládájí do určitých buněk v návaznosti na zadání proměnných - vlastně souřadnic vkládání jsou velmi dlouhé a obsahují několik větvených podmínek když, zaokrouhlování a další a nechceme se mi je furt vypisovat. Takhle to napíšu jednou do makra, uložím do sešitu osobních maker a je to vždy k dispozici.Zadám souřadnice vkládání a je to hned.

Díky za snahu.

Ještě možná jeden dotaz, nějakým příkazem jsem vypnul okýnko, které vyskočí po spuštění záznamu nového makra a je na něm tlačítko "zastavit záznam". Nevím jak to dostat zpátky, aby vyskočilo.

Takže problém je jak upozorňoval ELNINOSLOV :
To R1C1 (konkrétne relatívny odkaz pomocou []) mi príde úplne blbý, pretože treba myslieť nielen na premenné vo vzorcoch, ale navyše aj na konkrétne súradnice bunky, pretože do [] sa zapisuje rozdiel (posun chcenej bunky oproti aktuálne nastavovanej).

Takže moje upřesnění:
Sub zkouskamakra()
Dim hoa As Long
hoa = Cells(1, 1).Value
' v buňce A1 je hodnota 5
Cells(hoa, hoa).Formula = "=R" & (7 - hoa) & "C" & (7 - hoa) & "+R" & (7 - hoa) & "C" & (7 - hoa) & "*R" & (7 - hoa) & "C" & (7 - hoa) & ""
End Sub

Výše uvedené makro při proměnné hoa=5 zapíše do buňky E5 =$B$2+$B$2*$B$2
jak docílit toho, abych odstranil ze vzorce 2xznak dolaru - podtržený

Promiň, ale snažíš se aby to pouze napsalo co chci, podle mě odpočítáváš (připočítáváš )nějakou neznámou hodnotu od proměnné hoa. Jestliže změním proměnnou hoa na 4 tak to bude zase psát =$B2+B$2*$B$2 a správně už by mělo být =$C3+C$3*$C$3 (7-4=3, buňka C3, je to pouze příklad s jednoduchou proměnnou, aby se to dobře počítalo.
Sloužit to má pro doplnění vzorců do tabulek, které mají různé rozvržení (počet sloupců a řádků).Proměnnými, je jich asi 6, vlastně určuji souřadnice, kam se to má potom vložit.

Cells(hoa, hoa).Formula = "=R[" & (7 - hoa) & "]C" & (7 - hoa) & "+R" & (7 - hoa) & "C[" & (7 - hoa) & "]*R" & (7 - hoa) & "C" & (7 - hoa) & ""

Takže znovu, jak upravit výše uvedený vzorec - aby to bylo správně. Hodnota sloupce nebo řádku je správně určená, když je to absolutní odkaz se znakem dolaru (bez hranaté závorky). Pokud je to v hranaté závorce, aby to bylo bez znaku dolaru, tak to prostě není správně. Číslo 7 (7-hoa)je tam také jako příklad, někdy to bude 1,3,5,26,100.... a bude ve skutečnosti určeno další proměnnou (třeba hoa2).

Díky, ale furt se nemůžu dopracovat výsledku, níže makro :

Sub zkouskamakra()
Dim hoa As Long

hoa = Cells(1, 1).Value
' v buňce A1 je hodnota 5

Cells(hoa, hoa).Formula = "=R[" & (7 - hoa) & "]C" & (7 - hoa) & "+R" & (7 - hoa) & "C[" & (7 - hoa) & "]*R" & (7 - hoa) & "C" & (7 - hoa) & ""
' jak upravit výše uvedený řádek, aby to bylo správně? namísto =$B2+B$2*$B$2 vypíše =$B7+G$2*$B$2

End Sub

Sub zkouskamakra()
Dim hoa1 As Long

hoa = Cells(1, 1).Value
' v buňce A1 je hodnota 5

Cells(hoa, hoa).Select
'máme výchozí buňku určenou proměnlivou souřadnicí - v tomto případě _
E5, do této chci zapsat (pomocí sčítání nebo odčítání od proměnné hoa) např. $F6+G$7*$H$8_

End Sub

Tam by to bylo jasné, ale co v té části za rovnítkem : = "=" & Cells(hoa + 1, hob + 5).Address(0, 0).
Jak udělat třeba z hoa + 1 nakonec $6
Díky.

Zápis do buňky se různě mění, to by taky fungovalo : Cells(hoa, hoa).Formula = "=" & Cells(hoa + 1, hob + 5).Address(0, 0). V tomto případě F6.

Jak se změní zápis pro určení absolutního odkazu - $F6, F$6, $F$6? Díky

Zdravím,ještě se vracím k adresování buňky. Proč níže uvedené makro podle mě zapisuje do buňky něco jiného než by mělo? V čem je chyba?

Sub zkouskamakra()
Dim hod1 As Long
Dim hod2 As Long
hoa = 5
hob = 1
Cells(hoa, hoa).Select
'mělo by zapsat do buňky e5 - = R5C1, tedy = A5, ale napíše = F10
Cells(hoa, hoa).Formula = "=R[" & hoa & "]C[" & hob & "]"
End Sub

Díky za radu.

Děkuji pěkně, funguje. Jestli to dobře chápu, tak to dělá ta hranatá závorka.

Díky za radu. I by to nějak fungovalo, při zápisu do listu to za proměnné dosadí dobře, ale udělá z toho absolutní odkaz se znakem dolaru, což se mi moc nehodí, protože v dalším kroku to má buňku zkopírovat níže o x řádku (vložit jinak - vzorce). Možná bylo špatně mé původní zadání. Je nějaké řešení? Díky.

Zdravím,
jak ve VBA adresovat zápis do buňky s použitím proměnné?

proměnné
prvnicislo = Range("H5").Value
sloupecjc = Range("H3").Value

do buňky třeba D4 by měl být zapsán vzorec s podmínkami
Cells(4,4).Select
ActiveCell.FormulaR1C1 = "=IF(R[prvnicislo+5],C[sloupecjc-5]="""","""",IF.........

Díky za radu.

Božské, nemá chybu. Díky

To asi nebude to pravé:

potřeboval bych editovat a odentrovat O1.

Nebo jinak - uložit soubor pod jménem, které se bude skládat :
-text z buňky p1 (nebo definovat cestu)
-text z buňky o1 (jméno)
-datum a čas (nejlépe bez teček 2014 08 12 12 59)
-přípona souboru (*.xls)

Díky

Zdravím, potřeboval bych radu

Mám makro
Sub ulozit()

jmeno = Range("Q1")
ActiveWorkbook.SaveAs Filename:= _
jmeno
'MsgBox "Dokument uložen pod názvem " & jmeno
End Sub

a potřeboval bych před načtením proměnné jmeno jakoby editovat buňku 01 a zmáčknout enter.

Díky za rady

Dobré, dík moc.


Strana:  1 2 3   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse