темата на drosg е интересна....

2 отговора 0 прегледа
#1

темата на drosg е интересна....

Много ми е интересна темата ,която е задал drosg - работа с дати ....супер полезна тема , само че мен ме занимава следния казус а той е как би станало това ако трябва да брои от дата до дата и в друга клетка да изведе не дата а съответното число пример :от 01.1.09 до 31.09.09 и да изведе стойността тоест да изброи всички клетки които съдържат еденици.

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

Re: темата на drosg е интересна....

И за това има начин, но въпросите трябва да се задават точно.
Какво разбираш например под това "да изброи всички клетки" - адреса на клетката или нещо друго.
А на drosg не съм отговорил повече, а мисля, че и другите са на същото мнение, че на него му е даден отговор на въпроса, но му липсва малко желание да прочете и да приложи отговора конкретно към неговия проблем. Не бих искал да се занимавам с разглеждане на проекти, ако някой друг желае, да му предложи.
В Excel понякога макросите са свързани с определени Sheet и клетки, и една малка промяна ще окаже влияние на резултата.

Отговор
в отговор на intermaniq #3

Re: темата на drosg е интересна....

Ето малка промяна във функцията за твоя проблем, остава само да си промениш Sheet, Cells за твоите нужди

Function ChoiceNewMyDate1(MyCell As Variant, MyNumber As Variant) As Variant
Dim I, J, MyRow, MySum As Integer
MyRow = 1
MySum = 0
Sheet2.Range("E1:F60000").Select
Selection.ClearContents
With Sheet1
For I = 1 To 60000
If .Range("A" & I).Value = MyCell Then
J = I - 1
While MySum < MyNumber
J = J + 1
MySum = MySum + .Range("B" & J).Value
If .Range("B" & J).Value > 0 Then
Sheet2.Range("E" & MyRow).Value = .Range("A" & J)
Sheet2.Range("F" & MyRow).Value = .Range("B" & J)
MyRow = MyRow + 1
End If
Wend
ChoiceNewMyDate1 = .Range("A" & J).Value

Exit Function
End If
Next

End With
End Function


Отговор