Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Montaj aer conditionat in balcon ...

joc idem Half Life gratis

PC game stream catre Nvidia Shiel...

Pompa de apa HEPU ?!
 Vreau o masina electrica de tocat...

Cum ajunge remorca de tir inapoi ...

Alt "Utilizator nou" pe T...

ULBS INFORMATICA
 Index preturi

Boxa membrana tweeter infundata

Am nevoie de poze cu un curcubeu

Whisky for Mac
 Xiaomi 14 Gpay

Izolare zid exterior de scandura

Dezinstalare drivere W11 23H3

Recomandare masina de spalat fiab...
 

[VBA] Suma dintre o valoare si doua celule referentiate

- - - - -
  • Please log in to reply
9 replies to this topic

#1
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
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
Iulius-Foyas

Iulius-Foyas

    Active Member

  • Grup: Members
  • Posts: 1,361
  • Înscris: 21.04.2019
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. Posted Image

Edited by Iulius-Foyas, 25 May 2019 - 22:30.


#3
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
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
Iulius-Foyas

Iulius-Foyas

    Active Member

  • Grup: Members
  • Posts: 1,361
  • Înscris: 21.04.2019

View Postcolombo2003, on 25 mai 2019 - 22:55, said:

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
De ce devine L13 automat zero ?

#5
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
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
Iulius-Foyas

Iulius-Foyas

    Active Member

  • Grup: Members
  • Posts: 1,361
  • Înscris: 21.04.2019
"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
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,426
  • Înscris: 10.08.2005
Ce este o faza?

Ce este de optimizat?
H15 ori e numar ori formula

View Postcolombo2003, on 26 mai 2019 - 00:01, said:

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.
L13 = x -H15
pe x de unde il iei?

Edited by MarianG, 26 May 2019 - 03:55.


#8
danvlas

danvlas

    Guru Member

  • Grup: Senior Members
  • Posts: 11,118
  • Înscris: 04.06.2009
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
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
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
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
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

Neurochirurgie minim invazivă 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

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate