Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/"Всплывание" содержащегося в ячейках таблицы данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Всплывание" содержащегося в ячейках таблицы данных (Макросы/Sub)
"Всплывание" содержащегося в ячейках таблицы данных
garbol Дата: Четверг, 10.11.2022, 13:08 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте. В очередной раз прошу помочь, если это возможно. Имеется файл с таблицей по регистрации договоров с множеством столбцов и строк(уже более 400). Как можно получить всплывающие данные в определенной ячейке (например номер договора) с информацией по другим столбцам данной строки при ее нажатии или при наведении курсора на данную строку? а при нажатии другой строки данные столбцов той строки и т.д.
К сообщению приложен файл: 0639191.xlsm (73.8 Kb)


Сообщение отредактировал garbol - Четверг, 10.11.2022, 13:15
 
Ответить
СообщениеЗдравствуйте. В очередной раз прошу помочь, если это возможно. Имеется файл с таблицей по регистрации договоров с множеством столбцов и строк(уже более 400). Как можно получить всплывающие данные в определенной ячейке (например номер договора) с информацией по другим столбцам данной строки при ее нажатии или при наведении курсора на данную строку? а при нажатии другой строки данные столбцов той строки и т.д.

Автор - garbol
Дата добавления - 10.11.2022 в 13:08
Nic70y Дата: Четверг, 10.11.2022, 14:26 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
так пойдет?
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    a = Target.Column
    Columns(2).ClearComments
    If a = 2 Then
        b = "Начало: " & Target.Offset(0, 8)
        c = "Окончание: " & Target.Offset(0, 9)
        d = "Сумма: " & Target.Offset(0, 11)
        e = "Выпонение: " & Target.Offset(0, 17)
        f = "Смр: " & Target.Offset(0, 18)
        g = "Акты: " & Target.Offset(0, 33)
        x = b & Chr(10) & c & Chr(10) & d & Chr(10) & e & Chr(10) & f & Chr(10) & g
        Target.AddComment
        Target.Comment.Visible = True
        Target.Comment.Text Text:=x
        Target.Comment.Shape.Width = 150
        Target.Comment.Shape.Height = 100
    End If
End Sub
[/vba]
К сообщению приложен файл: 18.xlsm (84.3 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Четверг, 10.11.2022, 14:27
 
Ответить
Сообщениетак пойдет?
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    a = Target.Column
    Columns(2).ClearComments
    If a = 2 Then
        b = "Начало: " & Target.Offset(0, 8)
        c = "Окончание: " & Target.Offset(0, 9)
        d = "Сумма: " & Target.Offset(0, 11)
        e = "Выпонение: " & Target.Offset(0, 17)
        f = "Смр: " & Target.Offset(0, 18)
        g = "Акты: " & Target.Offset(0, 33)
        x = b & Chr(10) & c & Chr(10) & d & Chr(10) & e & Chr(10) & f & Chr(10) & g
        Target.AddComment
        Target.Comment.Visible = True
        Target.Comment.Text Text:=x
        Target.Comment.Shape.Width = 150
        Target.Comment.Shape.Height = 100
    End If
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 10.11.2022 в 14:26
garbol Дата: Четверг, 10.11.2022, 14:52 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
так пойдет?
Благодарим. Все работает. Думаю что многим алгоритм пригодится. Искал что-то подобное, нашел, но не в этом виде. Может еще поможете, допишите, как с другого листа брать информацию.


Сообщение отредактировал garbol - Четверг, 10.11.2022, 14:56
 
Ответить
Сообщение
так пойдет?
Благодарим. Все работает. Думаю что многим алгоритм пригодится. Искал что-то подобное, нашел, но не в этом виде. Может еще поможете, допишите, как с другого листа брать информацию.

Автор - garbol
Дата добавления - 10.11.2022 в 14:52
Gustav Дата: Четверг, 10.11.2022, 14:54 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Вариант со "всплытием" по двойному щелчку на интересующей строке:
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    Dim strMessage As String
    
    strMessage = strMessage & "дата начало (J):" & vbTab & vbTab & Me.Cells(Target.Row, "J") & vbCrLf & vbCrLf
    strMessage = strMessage & "дата окончания (K):" & vbTab & vbTab & Me.Cells(Target.Row, "K") & vbCrLf & vbCrLf
    strMessage = strMessage & "cумма договора (M):" & vbTab & Format(Me.Cells(Target.Row, "M"), "#,##0.00") & vbCrLf & vbCrLf
    strMessage = strMessage & "выполнение (S):" & vbTab & vbTab & Me.Cells(Target.Row, "S")
    
    MsgBox strMessage, , "Информация строки  " & Target.Row

    Cancel = True
End Sub
[/vba]
К сообщению приложен файл: RowInfo.xlsm (79.9 Kb)


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеВариант со "всплытием" по двойному щелчку на интересующей строке:
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    Dim strMessage As String
    
    strMessage = strMessage & "дата начало (J):" & vbTab & vbTab & Me.Cells(Target.Row, "J") & vbCrLf & vbCrLf
    strMessage = strMessage & "дата окончания (K):" & vbTab & vbTab & Me.Cells(Target.Row, "K") & vbCrLf & vbCrLf
    strMessage = strMessage & "cумма договора (M):" & vbTab & Format(Me.Cells(Target.Row, "M"), "#,##0.00") & vbCrLf & vbCrLf
    strMessage = strMessage & "выполнение (S):" & vbTab & vbTab & Me.Cells(Target.Row, "S")
    
    MsgBox strMessage, , "Информация строки  " & Target.Row

    Cancel = True
End Sub
[/vba]

Автор - Gustav
Дата добавления - 10.11.2022 в 14:54
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Всплывание" содержащегося в ячейках таблицы данных (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!