Malko Excel-sko vyprosche?

6 отговора 231 прегледа
#1

Malko Excel-sko vyprosche?

Eto go:
ima li nachin stoinosta na edna kletka da se opredelq ot neinata sobstvena plus
stoinostta na druga kletka,primerno ( B5 = B5 + C5 ) kato periodichno se obnovqva
vtorata kletka C5, bez da se poluchava 'circular reference' chieto izpolzvane vodi
do greshni rezultati vypreki nastroikite.

Отговор
в отговор на Joro #2

Re: Malko Excel-sko vyprosche?

ami ako e vuzmojno , shte ti se naloji q VB script q nqkoi macros, pone taka mislq
kak spored teb shte se initialize B5 !?

by Waz Gaa
[email protected]
Отговор
в отговор на Waz Gaa #3

Re: Malko Excel-sko vyprosche?

Incializira se pri vyvejdane na stoinosti v C5.

Отговор
в отговор на Joro #4

Re: Malko Excel-sko vyprosche?

Не става по принцип. Опитах да кажа A1=B1, B1=A1 и онова се разквича на circular reference. Но не виждам и за какво ти е.

Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Отговор
в отговор на Joro #5

Re: Malko Excel-sko vyprosche?

Не може. Excel не позволява circular reference, каквито и хватки да му прилагаш. Ако опиташ с макрос да го излъжеш, най-много да забиеш приложението от безкрайната рекурсия.

стой та гледай
Отговор
в отговор на Joro #6

Re: Malko Excel-sko vyprosche?

Probvaj s makros:

Range("B5").Value = Range("B5").Value + Range("C5").Value

Отговор
в отговор на Joro #7

Re: Malko Excel-sko vyprosche?

Dim temp 'променлива с малко по-голям обсег

Private Sub Worksheet_Change(ByVal Target As Range)
'MsgBox (Target.Address)
If Target.Address = "$C$5" Then
Range("b5").Value = Range("c5").Value + temp
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$5" Then
'MsgBox (Target.Address)
temp = Range("b5")
Else
temp = 0
End If
End Sub

Копирай горното в VBA Editor на Excel и си готов. Просто, нещата трябва да се разделят в две събития. При едното вземаш стойността на В5 и я слагаш настрана, а при другото само пишеш в В5.

Аре, надявам се това да свърши работа!!!

Отговор