2017-01-11 4 views
0

У меня есть длинный список данных по таблице excel. Эти данные включают подробную информацию о каждом заказе в несколько строк. В столбце отображается состояние каждой строки. Кроме того, у меня есть панель, в которой перечислены имена заказов. Я хочу, чтобы пользователи могли видеть короткую статистическую информацию каждой книги в виде комментария или когда они наводили указатель мыши на ячейку, если это возможно, или как данные ячейки. Информация может быть чем-то вроде подбора в 3 или 4 ряда. (Количество элементов является количество строк с тем же статусом)Возвращение быстрой статистической информации для ячейки в качестве комментария

5 выдал товар 3 нехватка пунктов 2 Done изделия X другой

Если вы просто дать мне общее представление о его было бы замечательно. Я думаю, что мне нужно использовать процедуру сбора, что-то вроде «скриптового словаря», но у меня нет опыта их использования. Я знаю, как это сделать, поставив оператор case после того, как предложение внутри цикла, но я ищу более разумный способ. вы можете найти несколько снимков и образцы данных ниже: samplepictures

+0

Я не уверен, что изображение в вашей ссылке достаточно мало, не могли бы вы сделать его более тонким, пожалуйста? – User632716

+2

К сожалению, не по пунктам, но я не буду голосовать за вас, и я скажу вам, почему ваш вопрос невелик, и почему я буду отмечать его закрытие. Вы хотите вернуть информацию, основанную на позиции мыши (насколько я могу сказать, это ваш главный вопрос), но вы не упомянули об этом в названии. Вы не включаете код и не проводите никаких исследований. С положительной стороны, ответ заключается в том, что в vba нет события мыши/зависания (вроде бы не очень позитивно). И вы могли бы использовать словарь, я думаю ... но как часть гораздо большего раздела кода. Извините, вам нужно сделать этот вопрос лучше – User632716

+0

Привет, Спасибо, На самом деле я не ищу мышку над реакцией. Я просто хочу получить гладкий ответ пользователям. Как я упоминал в своем сообщении, даже результат значения ячейки (что-то, что я могу поместить в ячейку) в порядке. Кстати, я не знаю, что означает репутация, Просто не позволяйте мне давать положительные отзывы другим. Вот почему я попросил об этом. в противном случае я не профессиональный разработчик. Спасибо, в любом случае. и если вы сочтет это отрицательным моментом. Не беспокойтесь. С Уважением, –

ответ

0

Для справки я пришел к этому ответу от одного из друзей в MrExcel froum. Надеюсь, вы сочтете это полезным. Просто разница в том, что я искал ответ импульса только для активной ячейки, но этот код предоставляет всю информацию для всех имен заказов в качестве комментария. но это очень легко настроить!

Sub UpdateComments() 
Dim c As Variant, strComment As String 
Dim intISSUED As Integer, intSHORTAGE As Integer 
Dim tblDATA As ListObject, tblDASH As ListObject 
Set tblDATA = Application.Range("TBL.data").ListObject 'adjust Table Name 
Set tblDASH = Application.Range("TBL.dash").ListObject 'adjust Table Name 
For Each c In tblDASH.ListColumns("W/B").DataBodyRange 
    strComment = "" 
    intISSUED = Application.CountIfs(tblDATA.ListColumns("Work Book").DataBodyRange, c, tblDATA.ListColumns("Stage").DataBodyRange, "Issued") 
    strComment = strComment & Chr(10) & "Issued: " & intISSUED 
    intSHORTAGE = Application.CountIfs(tblDATA.ListColumns("Work Book").DataBodyRange, c,tblDATA.ListColumns("Stage").DataBodyRange, "Shortage") 
    strComment = strComment & Chr(10) & "Shortage: " & intSHORTAGE 
    ' ADDITIONAL 'STAGES' HERE 
    ' OR put 'stages' in array to condense code 
    With Sheets(tblDASH.Parent.Name).Range(c.Address) 
     If .Comment Is Nothing Then 
      .AddComment 
      .Comment.Visible = False 
     End If 
     .Comment.Text Text:=Mid(strComment, 2) 
    End With 
Next c 
End Sub 

 Смежные вопросы

  • Нет связанных вопросов^_^