» »

excelove enačbe me mučijo

excelove enačbe me mučijo

bruderbauc ::

Rad bi naredil, da bi se s klikom na gumb v določenih celicah vpisala ena enčba. Tako sem najprej v excelu sestavil enačbo in jo nato posnel z makrom. Problem pa je v tem, da se enačba, ki je posneta v makru razlikuje od te, ki sem jo jaz sestavil v excelu. Enačba je nepopolna in ima na nekaterih mestih vrinjen vprašaj ali pa nek čuden kvadratek. V glavnem... enačba shranjena v makru je neuporabna.

A je do tega mogoče prišlo, ker je enačba predolga (431 znakov). Ko sem poskušal shraniti krajše enačbe ni bilo teh problemov. Je pa mi uspelo to enačbo spraviti v makro tako, da sem enačbo po krajših delih shranjeval v makro in jih nato tam sestavil skupaj.


Spodaj je enačba, ki je shranjena v makru...
ActiveCell.FormulaR1C1 = _
"=IF(LEN(R4C[-255])>0,IF(ISERROR(SEARCH(R4C[-255],RC[-255],1))=FALSE,TRUE,FALSE),TRUE)?IF(LEN(R4C[-250])>0,IF(ISERROR(SEARCH(R4C[-250],RC[-250],1))=FALSE,TRUE,FALSE),TRUE)LEN(R4C[-245])>0 IF(ISERROR(SEARCH(R4C[-245],RC[-245],1))=FALSE,TRUE,FALSE)"

Tutankhamun ::

Če te prov razumem, si enačbo iz ene celice skoprov v eno spremenljivko v tvojmu makroju, ampak vsebina spremenljivke ni taka kot je vsebina celice.

Pa še zapiš kakšna pa bi mogla bit enačba, da se mal poigram, ko mam lih mal cajta ;)

bruderbauc ::

Imam pet stolpcev s podatki. Rad bi naredil programček, ki bi mi določene
vrstice s podatki skril (nastavil bi jim višino na 0).

V excelu sem v zadnji stolpec napisal enačbo, ki mi je odvisno od tega kakšni
so bili podatki vrnila TRUE ali pa FALSE. To enačbo sem nato raztegnil do
konca stolpcev s podatki. Tako sem za vsako vrstico s podatki imel v
zadnjem stolpcu napisano TRUE oziroma FALSE (odvisno od tega kakšni so
pač bili podatki). Nato pa sem naredil makro, ki je vsaki vrstici, v kateri je
v zadnjem stolpcu pisalo FALSE, nastavil višino na 0.

Ker pa včasih kakšno vrstico s podatki tudi dodam, moram vedno tudi vpisati
enačbo v zadnjem stolpcu. Zato sem si mislil, da bi enačbe lahko vpisoval
tudi z makrom. Tako sem vklopil snemanje makra in v zadnjo celico vpisal
to mojo enačbo.

Ko sem odprl makro z visual basicom je bilo noter napisano nekaj v
takšnem stilu:


Range("IV5").Select
ActiveCell.FormulaR1C1 = _
"=IF(LEN(R4C[-255])>0,IF(ISERROR(SEARCH(R4C[-255],RC[-255],1))=FALSE,TRUE,FALSE),TRUE)?IF(LEN(R4C[-250])>0,IF(ISERROR(SEARCH(R4C[-250],RC[-250],1))=FALSE,TRUE,FALSE),TRUE)-LEN(R4C[-245])>0IF(ISERROR(SEARCH(R4C[-245],RC[-245],1))=FALSE,TRUE,FALSE)"

In ta enačba ni niti približno podobna tisti, ki sem jo vpisal
v celico pri snemanju makra. Enačba se sicer razlikuje, ker je napisana
z R1C1 sklicevanjem, ampak če to odmisliš, vidiš, da je v tej enačbi tudi
neki vprašaj (ki se je vzel bog si ga vedi od kje), pa tudi več kot tričetrt
enačbe manjka.

Originalne enačbe, ki pa jo hočem shraniti v makro pa ne
morem vpisati sem noter, ker mi napiše:
Uporabili ste neveljavno / nedovoljeno HTML oznako:

Tutankhamun ::

tist da je ne moreš upisat zaradi neveljavne html... kodo upišeš med [ st.koda ] tvoja enačba [ /st.koda ], med oglatimi oklepaji ni presledka.

Tist da višino vrstice daš na 0, bi blo vrjetn bol če celo vrstico zbrišeš, razn če tiste podatke tut rabš.

Zdej če pa drgač ne gre, pa enačbo skopirj v makro, copy, paste ;)
Mislm da je to še najmanjši problem.

Sm tut jest zej to probu bol na enostavni enačbi samo seštevanje, pa da vn kr neki, ampak če makro zaženem dela čist lepo. Res bi blo pa fajn da bi dal tvojo enačbo. Glej prvi stavk.

bruderbauc ::

OK. To je enačba, ki sem jo napisal v celico...
=AND(IF(LEN(A$4)>0;IF(ISERROR(SEARCH(A$4;A5;1))=FALSE;TRUE;FALSE);TRUE);IF(LEN(F$4)>0;IF(ISERROR(SEARCH(F$4;F5;1))=FALSE;TRUE;FALSE);TRUE);IF(LEN(K$4)>0;IF(ISERROR(SEARCH(K$4;K5;1))=FALSE;TRUE;FALSE);TRUE);IF(LEN(O$4)>0;IF(IT$1="<";IF(O5<O$4;TRUE;FALSE);IF(IT$1=">";IF(O5>O$4;TRUE;FALSE);IF(O5=O$4;TRUE;FALSE)));TRUE);IF(LEN(P$4)>0;IF(IU$1="<";IF(P5<P$4;TRUE;FALSE);IF(IU$1=">";IF(P5>P$4;TRUE;FALSE);IF(P5=P$4;TRUE;FALSE)));TRUE))

Takšna pa je enačba, ki se je pojavila v makru...

Range("IV5").Select
ActiveCell.FormulaR1C1 = _
"=IF(LEN(R4C[-255])>0,IF(ISERROR(SEARCH(R4C[-255],RC[-255],1))=FALSE,TRUE,FALSE),TRUE)?IF(LEN(R4C[-250])>0,IF(ISERROR(SEARCH(R4C[-250],RC[-250],1))=FALSE,TRUE,FALSE),TRUE)LEN(R4C[-245])>0 IF(ISERROR(SEARCH(R4C[-245],RC[-245],1))=FALSE,TRUE,FALSE)"

Morala pa bi biti takšna:
=AND(IF(LEN(R4C[-255])>0,IF(ISERROR(SEARCH(R4C[-255],RC[-255],1))=FALSE,TRUE,FALSE),TRUE),IF(LEN(R4C[-250])>0,IF(ISERROR(SEARCH(R4C[-250],RC[-250],1))=FALSE,TRUE,FALSE),TRUE),IF(LEN(R4C[-245])>0,IF(ISERROR(SEARCH(R4C[-245],RC[-245],1))=FALSE,TRUE,FALSE),TRUE),IF(LEN(R4C[-241])>0,IF(R1C[-2]=""<"",IF(RC[-241]<R4C[-241],TRUE,FALSE),IF(R1C[-2]="">"",IF(RC[-241]>R4C[-241],TRUE,FALSE),IF(RC[-241]=R4C[-241],TRUE,FALSE))),TRUE),IF(LEN(R4C[-240])>0,IF(R1C[-1]=""<"",IF(RC[-240]<R4C[-240],TRUE,FALSE),IF(R1C[-1]="">"",IF(RC[-240]>R4C[-240],TRUE,FALSE),IF(RC[-240]=R4C[-240],TRUE,FALSE))),TRUE))"


Ko sem poskusil zagnati tale makro, mi je javilo napako:

Run-time error '1004':
Application-defined or object-defined error

Zgodovina sprememb…

Tutankhamun ::

No ker prvič vidm da bi bile v eni celici več funkcij ločenih s podpičji in ker men jav tut error ko zapišem enačbo v celico ti tko bol težko pomagam.

Drugač pa lahko zapišeš to enačbo v, na novo narjeno vrstico, tudi tako (pa ne rabš nobene enačbe v makroju):
Range("E12").Select
Selection.AutoFill Destination:=Range("E12:E13"),Type:=xlFillDefault
Range("E12:E13").Select

Recimo, da dodaš novo vrstico recimo da je to vrstica 13. To pomeni, da imaš v 12 vrstici v stolpcu E upisano že enačbo. Zdej lahko čist preprosto sam dol raztegneš (prej si to naredu ročno, zej bo pa makro to naredu).
Tista koda se nanaša za ta primer k sm ti ga napisu.

Ti moreš za svoj primer sam mal makro dodelat, tko da boš programsko določu v kateri vrstici si, ne tko ko jest k sm kr določu da sm v 12. vrstici.;)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

EXCEL vgnezdenje dveh vlookup funkcij?

Oddelek: Programska oprema
101716 (1415) prtenjam
»

Programiranje v pythonu

Oddelek: Programiranje
141873 (1231) Sony-Tech
»

pomoč v excelu

Oddelek: Pomoč in nasveti
121425 (961) pangro
»

[Java] While zanka

Oddelek: Programiranje
262191 (1774) kunigunda
»

Funkcija z logičnimi operaterji.... (strani: 1 2 )

Oddelek: Programiranje
905162 (4508) CaqKa

Več podobnih tem