Macro: para colocar en la hoja como encabezado en 2 líneas y diversas column, palabras para identificar cada columna y proceso

De nuevo por tu apoyo. Estoy armando esta macro, que te envío, y que también igual que la anterior, le falta algo. Estando el USERFORM1 posicionado en la Hoja1, al cliquear el CommandBoton3, busca la hoja (seleccionada en ComboBox1,) de entre 10 hojas, y debe poner en las celdas 16,9; 17,9, las palabras ESTIMACION1, CANT. E IMPORTE”, etc, esto de acuerdo a la condición de la Label17. Así mismo, en el TextBox17, el resultado de multiplicar el TextBox 16 por el TextBox11. Todo en la hoja seleccionada al iniciar el procedimiento. Por tu atención y apoyo Muchas Gracias.

USERFORM1

Private Sub CommandButton3_Click() 'PARA INSERTAR DATOS DE LAS ESTIMACIONES

Application.ScreenUpdating = False

For Each h In Sheets

n = h.Name

If UCase(h.Name) = UCase(ComboBox1) Then

existe = True

Exit For

End If

Next

If existe = False Then

MsgBox "la hoja seleccionada no existe", vbCritical, "SELECIONAR HOJA"

Exit Sub

ComboBox1.SetFocus

End If

'------------------

Set H1 = Sheets(ComboBox1.Value)

'TextBox14 = h1.Range("D4")

'------------------

'Set b = h1.Range("C").Find(wat:=ComboBox2, lokat:=xlWhole) ', LookIn:=xlValues)

Set b = H1.Columns("C").Find(what:=TextBox14, lookat:=xlWhole)  

If b Is Nothing Then

MsgBox "El dato no fue encontrado", vbOKOnly + vbInformation, "Aviso"

ComboBox = ""

ComboBox1.SetFocus

Exit Sub

Else

'---------------------

Range("b" & Cells.Rows.Count).End(xlUp).Offset(1).Select  'prueba lo kito no pasa nada

If Label17 = 1 Then

ActiveCell.Offset(16, 9) = "ESTIMACION, 1"

ActiveCell.Offset(17, 9) = "CANT"

ActiveCell.Offset(17, 10) = "IMPORTE"

 If Label17 = 2 Then

ActiveCell.Offset(16, 11) = "ESTIMACION, 2)"

ActiveCell.Offset(17, 11) = "CANT"

ActiveCell.Offset(17, 12) = "IMPORTE"

‘If Label17 = 3 Then…etc

 ‘---------------------

TextBox17 = TextBox16 * TextBox11

End If

End If

End If

End Sub

1 Respuesta

Respuesta
2

Quedaría así:

Private Sub CommandButton3_Click()
'Act.Por.Dante Amor
    For Each h In Sheets
        If UCase(h.Name) = UCase(ComboBox1) Then
            existe = True
            Exit For
        End If
    Next
    If existe = False Then
        MsgBox "la hoja seleccionada no existe", vbCritical, "SELECIONAR HOJA"
        Exit Sub
        ComboBox1.SetFocus
    End If
    '------------------
    Set h1 = Sheets(ComboBox1.Value)
    Set b = h1.Columns("C").Find(what:=TextBox14, lookat:=xlWhole)
    If b Is Nothing Then
        MsgBox "El dato no fue encontrado", vbOKOnly + vbInformation, "Aviso"
        ComboBox1 = ""
        ComboBox1.SetFocus
        Exit Sub
    End If
    '---------------------
    Select Case Label17
        Case "1"
            h1.Cells(16, 9) = "ESTIMACION, 1"
            h1.Cells(17, 9) = "CANT"
            h1.Cells(17, 10) = "IMPORTE"
        Case "2"
            h1.Cells(16, 11) = "ESTIMACION, 2"
            h1.Cells(17, 11) = "CANT"
            h1.Cells(17, 12) = "IMPORTE"
        Case "3"
            h1.Cells(16, 13) = "ESTIMACION, 3"
            h1.Cells(17, 13) = "CANT"
            h1.Cells(17, 14) = "IMPORTE"
        'etc
    End Select
    If TextBox11 = "" Then t11 = 0 Else t11 = CDbl(TextBox11)
    If TextBox16 = "" Then t16 = 0 Else t16 = CDbl(TextBox16)
    TextBox17 = t16 * t11
End Sub

':)
'S aludos. D a n t e   A m o r . R ecuerda valorar la respuesta. G racias
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas