Postada em 25/05/2009 17:06 hs
Bom, com a rotina abaixo estou tentando mudar o texto digitado nas celulas da coluna 8 do meu flexgrid. Quando eu digito 22222 ao sair da celula passa para OF-22222, até ai esta correto mas quando dou o enter na celula seguinte formata as demais. Onde está o erro no codigo? Deveria formatar somente a celula da coluna 8. Estou usando a chamada no evento correto?
Private MaxRow As Long ' Ultima linha em que se editou Private MaxCol As Long ' ultima coluna em que se editou
Private Sub Grid_Click() MaxRow = Grid.Row MaxCol = Grid.col End Sub
Private Sub Grid_LeaveCell() AtribuiValorCelula End Sub
Private Sub AtribuiValorCelula() Select Case MaxCol Case 8 If Grid.text = "" Then Grid.text = "-" ElseIf Grid.text = "OF" Then Grid.text = "-" ElseIf Grid.text = "-" Then Grid.text = "-" ElseIf Grid.text = Right$(Grid.text, 5) Then Grid.text = "OF" & "-" & Mid(Grid.text, 1, 5) Else Dim Matriz(21) As String Dim i As Integer Matriz(0) = ".": Matriz(1) = ";": Matriz(2) = ",": Matriz(3) = "/": Matriz(4) = "": Matriz(5) = "<": Matriz(6) = ">": Matriz(7) = "*": Matriz(8) = "%": Matriz(9) = "#": Matriz(10) = "&": Matriz(11) = "$": Matriz(12) = "@": Matriz(13) = "(": Matriz(14) = ")": Matriz(15) = "?": Matriz(16) = "[": Matriz(17) = "]": Matriz(18) = "^": Matriz(19) = "~": Matriz(20) = " "
For i = 0 To 20 Grid.text = Replace(ReplaceMultiplo(Grid.text, Matriz(i), "|", "-"), " ", "") Next i End If End Select End Sub
|