Forum » Programska oprema » 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)"
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)"
- premaknilo iz Pomoč in nasveti: bastadu ()
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
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:
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.
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...
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:
Ko sem poskusil zagnati tale makro, mi je javilo napako:
Run-time error '1004':
Application-defined or object-defined error
=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…
- spremenil: bruderbauc ()
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):
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.
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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | EXCEL vgnezdenje dveh vlookup funkcij?Oddelek: Programska oprema | 1906 (1605) | prtenjam |
» | Programiranje v pythonuOddelek: Programiranje | 2065 (1423) | Sony-Tech |
» | pomoč v exceluOddelek: Pomoč in nasveti | 1508 (1044) | pangro |
» | [Java] While zankaOddelek: Programiranje | 2379 (1962) | kunigunda |
» | Funkcija z logičnimi operaterji.... (strani: 1 2 )Oddelek: Programiranje | 5543 (4889) | CaqKa |