Удаление целых столбцов из найденного значения - PullRequest
0 голосов
/ 10 июля 2019

Итак, я хочу, чтобы значение из текстового поля, которое находится в форме, было найдено, затем я хочу, чтобы столбец значения и столбцы слева и справа были удалены.Но по какой-то причине Rango.Column неправильно получает столбцы.Код успешно находит значение.

Private Sub CommandButton1_Click()
Dim Rango As Range

Dim Prueba_N As String

    Prueba_N = Partida.Txt.Value
    If Prueba_N <> 0 Then
        With Sheets("Prueba").Rows("6:6")
            Set Rango = .Find(What:=Partida_N, After:=.Cells(.Cells.Count), LookIn:=xlValues, Lookat:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)

        End With

            RangoC_1 = Rango.Column - 1
            RangoC_2 = Rango.Column + 1
            Sheets("Prueba").Range(Cells(1, RangoC_1), Cells(1, RangoC_2)).EntireColumn.Delete
            Finalizar = MsgBox("Se ha eliminado la partida exitosamente")
            Partida.Hide
            Sheets("Materiales").Activate

    Else
        Partida_Err = MsgBox("Agregar Partida", vbCritical)
    End If

End Sub

Я также не знаю, почему иногда, если я запускаю форму партиды с кнопки, она возвращает мне ошибку 1004 в строке Sheets("Prueba").Range..., но если я запускаю форму непосредственноэто не дает мне ошибку.

1 Ответ

1 голос
/ 10 июля 2019

Вы помещаете txt.value в переменную с именем Prueba_N, но затем ищете Partida_N

**Prueba_N** = Partida.Txt.Value
If Prueba_N <> 0 Then
    With Sheets("Prueba").Rows("6:6")
        Set Rango = .Find(What:=**Partida_N**, After:=.Cells(.Cells.Count), LookIn:=xlValues, Lookat:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
    End With

Должно быть

**Partida_N**, = Partida.Txt.Value
If Prueba_N <> 0 Then
    With Sheets("Prueba").Rows("6:6")
        Set Rango = .Find(What:=**Partida_N**, After:=.Cells(.Cells.Count), LookIn:=xlValues, Lookat:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
    End With

Также

Rows("6,6")

ПоискиРяд 66

Вы хотите

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