Malko Excel-sko vyprosche?
6 отговора
231 прегледа
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.
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.
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]
kak spored teb shte se initialize B5 !?
by Waz Gaa
[email protected]
Re: Malko Excel-sko vyprosche?
Не става по принцип. Опитах да кажа A1=B1, B1=A1 и онова се разквича на circular reference. Но не виждам и за какво ти е.
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Re: Malko Excel-sko vyprosche?
Не може. Excel не позволява circular reference, каквито и хватки да му прилагаш. Ако опиташ с макрос да го излъжеш, най-много да забиеш приложението от безкрайната рекурсия.
стой та гледай
стой та гледай
Re: Malko Excel-sko vyprosche?
Probvaj s makros:
Range("B5").Value = Range("B5").Value + Range("C5").Value
Range("B5").Value = Range("B5").Value + Range("C5").Value
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.
Аре, надявам се това да свърши работа!!!
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.
Аре, надявам се това да свърши работа!!!