Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Задал шеф задачку...


Автор: azot 16.3.2006, 20:03
в excel 2002. есть форма. есть лист1. есть столбец A c данными в яйчейках.

задача шефа smile :

при наведении мышки на яйчеку в столбце A, в появившемся примечании должна появиться сумма всех выше стоящих яйчеек. т.е. если мышку навели на яйчеку А12, то во всплывающем примечании сумма (A1:A12). все должно работать при изменении любой из яйчеек столбца A.

помогите, а то до зарплаты не доживу. smile

Автор: Тутанхамец 16.3.2006, 20:41
Нда, хорошо, что мне шеф не задал такую задачку...

Непонятно, как словить событие для worksheet, как понять над какой ячейкой движется мышь...

Видел что-то похожее вот здесь, может поможет:

http://forum.codenet.ru/showthread.php?threadid=11979

Автор: Exception 16.3.2006, 22:26
Нереализуемо, насколько я понял.

Автор: Naghual 17.3.2006, 11:06
Вопрос в следующем - каким образом данные попадают в эксель?

От этого зависит решение.
Общая же идея такова - необходимо после обновления данных запускать макрос, который будет расчитывать эти суммы и забивать их в примечание.

Автор: azot 17.3.2006, 17:10
>Вопрос в следующем - каким образом данные попадают в эксель?

>От этого зависит решение.
>Общая же идея такова - необходимо после обновления данных запускать макрос, который будет расчитывать эти суммы и >забивать их в примечание.

непосредственно из excel'я и будут вносится изменения. надо что бы работало непосредственно в excel'е.

мои наметки:

в Woprksheets_Change ...
...

Range("D6").Comment.Text Text:=Str(Range("D5").Value + Range("D6").Value)
Range("D7").Comment.Text Text:=Str(Range("D5").Value + Range("D6").Value + Range("D7").Value)
Range("D8").Comment.Text Text:=Str(Range("D5").Value + Range("D6").Value + Range("D7").Value + Range("D8").Value)

и т.д.

или добавить комментарий если его нет в этой яйчейке и это надо запихнуть в цикл...

Автор: Naghual 17.3.2006, 18:32
Ну так у тебя все в принципе есть для решения.
Дерзай

Автор: ~FoX~ 22.3.2006, 09:57
Я бы сделал так:
Код

dim i as integer
dim s as integer
s = 0
For i = 1 To 10
  Cells(i, 1).ClearComments  
  s = s + Cells(i, 1).Value
  Cells(i, 1).AddComment
  Cells(i, 1).Comment.Text Text:=Str(s)
Next i

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)