- Код: Выделить всё
Debug.Print MSFlexGrid1.Text
MSFlexGrid1.Text = "5"
'или
MSFlexGrid1.Text = Text1.Text
а возможно ли вводить данные в ячейку непосредственно с клавиатуры ? , если возможно тогда хотелось бы узнать как это сделать.
Debug.Print MSFlexGrid1.Text
MSFlexGrid1.Text = "5"
'или
MSFlexGrid1.Text = Text1.Text
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
MSFlexGrid1.Text = MSFlexGrid1.Text & Chr$(KeyAscii)
End Sub
alibek писал(а):Эмулируешь поле ввода TextBox-ом, который отображается и активируется при получении гридом фокуса и становится невидимым при потере фокуса.
alibek писал(а):Эмулируешь поле ввода TextBox-ом, который отображается и активируется при получении гридом фокуса и становится невидимым при потере фокуса.
НиколайП писал(а):такой вариант я и пытаюсь использовать , но думал что есть более практичный способ ...
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
MSFlexGrid1.Text = Empty
End If
End Sub
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
If Len(Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel))) > 0 Then
MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel) = Mid(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel), 1, Len(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel)) - 1)
Exit Sub
Else
Exit Sub
End If
ElseIf KeyAscii = 13 Then
If MSFlexGrid1.col <= 2 Then
SendKeys "{right}"
Exit Sub
ElseIf MSFlexGrid1.col = 3 Then
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
SendKeys "{home}" + "{down}"
Exit Sub
End If
Else
If MSFlexGrid1.col = 0 Then
ElseIf MSFlexGrid1.col = 1 Then
ElseIf MSFlexGrid1.col = 2 Then
End If
End If
MSFlexGrid1.Text = MSFlexGrid1.Text + Chr(KeyAscii)
End Sub
Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 161