Как создать пользовательскую таблицу, состоящую из условного форматирования? - PullRequest
0 голосов
/ 11 января 2019

Итак, у меня уже есть таблица с условным форматированием (прилагается). Значения выделяются красным цветом, когда они больше +/- 35 мм для каждого компонента отдельно (dE, dN, dH).

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

прилагается также фото того, что мне нужно необходимо

Вся помощь очень ценится.

Table conditional_formatting

1 Ответ

0 голосов
/ 11 января 2019

не знаю, о чем вы просите, но, насколько я понимаю, вы хотите нажать на эту запись и отредактировать ее в форме пользователя, и ваша таблица уже отформатирована. Используйте этот код для достижения этой цели.

поместите этот код позади вашего листа в редакторе VBA (тот, что содержит данные для манипуляции)

     Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     '##################################################
     '# Intercept a double click in the record area    #
      '# and open the edit form 36                        #
      '##################################################

If Target.Column > 65 Or Target.Row < 1 Then
    Exit Sub
End If

Cancel = True
EditRecord

End Sub

и поместите этот на модуль

  Sub EditRecord()
   Dim CurRow As Integer, CurCol As Integer, intCount1 As Long
   Dim RecordEntry
   Dim iRow As Long

   CurRow = ActiveCell.Row


   Range("A" & CurRow).Select
' check if empty row - if so call new record
   With ActiveCell
     If ActiveCell.Value = "" Then
        ' check empty rows and create new record goto_empty_row
        UserForm1.Show
        Exit Sub
     End If
   End With

   ' edit existing record - populate form
   With UserForm1
     .TextBox1.Value = ActiveCell.Offset(0, 0)
     .TextBox2.Value = ActiveCell.Offset(0, 1)
     .TextBox3.Value = ActiveCell.Offset(0, 2)

 .Show
  End With
  End Sub

, а затем это в вашей пользовательской форме

     Private Sub CommandButton1_Click()
  Dim iRow As Long
   Dim ws As Worksheet
    Set ws = Worksheets("Sheet2") 'name of the Sheet
     'copy the data to the spread sheet
      ws.Cells(ActiveCell.Row, 1).Value = Me.TextBox1.Value
     ws.Cells(ActiveCell.Row, 2).Value = Me.TextBox2.Value
    ws.Cells(ActiveCell.Row, 3).Value = Me.TextBox3.Value

       End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...