![]() |
Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
[VBA] Suma dintre o valoare si doua celule referentiate
Last Updated: May 26 2019 23:07, Started by
colombo2003
, May 25 2019 22:16
·
0

#1
Posted 25 May 2019 - 22:16

Intr-o prima faza, in L13, am diferenta dintre alte doua celule.
In H15, formula de calcul este asa: o celula + alta celula + un numar. Acest numar este exact valoarea din L13. In a doua faza, trebuie sa pun acel numar in H15, astfel incat L13 sa devina zero. Problema mea este cum pot face asta in VBA? Stiu ca se pune ceva de genul ThisWorkbook.Sheets().Formula = " =....", dar ma incurca acel numar. Cum pot in VBA sa adun acel numar sau cum pot sa il pun in formula? Ma gandeam ca in prima faza sa copiez continutul lui L13, ca valoare, in L14 (eventual scris cu alb, ca sa nu se vada) si apoi sa il bag in formula si sa il adun. Asta cred ca mi-ar rezolva pb, dar as vedea sus in bara, ca formula, o suma de 3 referinte de cellule; or eu vreau sa vad suna dintre 2 celule referintate si o valoare numerica. Orice sfat este binevenit, Multumesc |
#2
Posted 25 May 2019 - 22:30

Da, reformuleaza matematic ce vrei ca eu nu inteleg.
Pana acum am inteles asa: L13 = x - y; H15 = a + b + L13 Se cere : Sa se puna L13 in H15 astfel incat L13 sa devina zero. ![]() Edited by Iulius-Foyas, 25 May 2019 - 22:30. |
#3
Posted 25 May 2019 - 22:55

L13 = x-y. Sa zicem ca aceasta diferenta este in prima faza 1400000
In H15 = celula 1 + celula 2, tot in prima faza. Apoi in H15 formula devine: celula 1+ celula 2 + 1400000. Si atunci, L13 devine automat 0 Nu stiu cum sa "mixez" astfel incat in formula sa am si referinta de celula si numar (in VBA). Ar fi simplu (prin copy si paste ca valoare, L13 in L14 si apoi formula din H15 sa fie celula 1 + celula 2 + L14. Dar asa se vor vedea 3 celule referentiate, ori mie imi trebuie sa arate/apara ca fiind doua celule plus o valoare. |
#4
Posted 25 May 2019 - 23:06

#5
Posted 26 May 2019 - 00:01

H15 eate de fapt y din L13
E o chestie contabiliceasca, nu stiu. Asa e "regula", asa fac, asa trebuie sa dea si sa apara. Eu doar am fost rugat sa o "automatizez cumva. Si dificultatea mea eate in acel nr pe care trebuie sa-l fac sa apara ca atare in formula. Ulterior acest fisier prelucrat, se duce mai departe. Si de aia asa trebuie sa apara si sa fie. Edited by colombo2003, 26 May 2019 - 00:02. |
#6
Posted 26 May 2019 - 01:38

"Contabiliceasca , contabilieaceasca" insa hai s-o luam logic:
L13 = x-y H15(=y) = a + b + L13 asta inseamna L13 = x - H15 = x - a -b -L13 => L13 = x - a - b - L13 si nu se anuleaza L13 L13 devine automat zero doar daca x = y; Sau tu zici ca dupa ce adaugi la H15, diferenta (x-y) adica L13, automat impui ca in casuta lui L13 sa fie trecut zero,datorita unei conventii "contabilicesti" , care nu are nici o legatura cu logica matematica? Edited by Iulius-Foyas, 26 May 2019 - 01:40. |
#7
Posted 26 May 2019 - 03:54

Ce este o faza?
Ce este de optimizat? H15 ori e numar ori formula
H15 eate de fapt y din L13 E o chestie contabiliceasca, nu stiu. Asa e "regula", asa fac, asa trebuie sa dea si sa apara. Eu doar am fost rugat sa o "automatizez cumva. Si dificultatea mea eate in acel nr pe care trebuie sa-l fac sa apara ca atare in formula. Ulterior acest fisier prelucrat, se duce mai departe. Si de aia asa trebuie sa apara si sa fie. pe x de unde il iei? Edited by MarianG, 26 May 2019 - 03:55. |
#8
Posted 26 May 2019 - 06:22

In "a doua faza" ai un rezultat al unui calcul, pe care il poti folosi intr-o coloana noua, astfel incat sa nu te atingi de datele primare introduse.
|
#9
Posted 26 May 2019 - 16:55

Am reusit sa fac ceea ce vreau, insa problema este alta: functioneaza doar daca folosesc castare la int.
ecart = Sheets("Synthèse").Range("L13").Value Sheets("Synthèse").Range("L15").Formula = "='Données'!C14 + 'Donnés'!D14 + " & int(ecart) Dar asa imi raman zecimalele (in celula de control L13 apare 0,43) O alta particulatitate: este vorba de office in franceza! Si separatorul decimal este , in loc de . Degeaba am incercat castare la alte tipuri de date sau format(ecart, .....) (cu diverse moduri de formatare), imi da eroare de executie 1004, eroare de aplicatie sau de obiect. Ceva idei? Edited by colombo2003, 26 May 2019 - 16:58. |
#10
Posted 26 May 2019 - 23:07

Am reusit, am rezolvat.
Valoarea preluata din L13 (care are zecimale) este de tip Double. Mai trebuie inca o variabila de tip Variant si fct Replace , cu . pentru valoarea preluata (pentru ca excelul este in franceza). PS. Se poate inchide! |
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users