Mensaje de Repetición de una Obra

Quisiera molestarte por una nimiedad pero al continuar probando mi planilla me topo con algunas cosas no contempladas

En este caso al Aplicar desde el Menú el Botón de Montajes Históricos, aparece el Form BÚSQUEDA y dicha búsqueda en el Histórico a través de este formulario se hace mediante el Change del Nombre Corto, pero no contempla obras repetidas, es decir, si existen 2 obras con nombre corto CACO-40, solo elije la primera y la segunda nunca me la muestra. Excepto que provoque un cambio en el nombre (CACO-40/1) Quisiera colocar un subcódigo que al aplicar desde el Menú el botón "Crear un Montaje", se abra el Form GENERADOR y que al elegir el nombre de la Obra (que es donde se comienza a completarlo), cuente la cantidad de obras con el mismo nombre que existen en la Hoja Histórico Col C y me proponga un NomCorto ... Por ejemplo: CACO-40/1.../2....y así a medida que se vayan sumando más montajes de la misma obra. Quedo atento a tus comentarios y de antemano te lo agradezco - Pongo en adjunto el programa sin clave en tu mail personalUn abrazo grande y

1 Respuesta

Respuesta
1

H o l a:

Te anexo el código para aumentar en /1 , /2, etc el nombre corto:

Private Sub OBRA_AfterUpdate() ' con el primer enter se completa comercial y abrev
    'si se ejecuta al abrir el UF no carga el resto   HOJA ACTIVA = HBCA
    Dim fila1 As Integer
    Dim datoO, buscoO, datoV, buscoV, datoT
    'completo el combo de los vendedores y datos fijos de raz.social
    datoO = Obra.Value
    Set h1 = Sheets("OBRAS-EMPRESAS")
    Set r = h1.Range("A2:A" & h1.Range("A65536").End(xlUp).Row)
    Set b = r.Find(datoO, LookIn:=xlValues, lookat:=xlWhole)
    If Not b Is Nothing Then
        TextBox5 = b.Offset(0, 1)
        nomcorto = b.Offset(0, 2)
        AbrevVend = b.Offset(0, 4)
        '
        'Buscar nombre corto
        Set h2 = Sheets("Historico")
        Set r = h2.Columns("C")
        Set b = r.Find(nomcorto, lookat:=xlPart)
        If Not b Is Nothing Then
            ncell = b.Address
            n = 0
            Do
                nums = Split(b.Value, "/")
                If UBound(nums) = 0 Then
                    n = 1
                Else
                    n = Val(nums(1)) + 1
                End If
                Set b = r.FindNext(b)
            Loop While Not b Is Nothing And b.Address <> ncell
        End If
        TextBox3 = nomcorto & "/" & n
        '
        Set buscoV = Sheets("VENDEDORES").Range("D2:D" & Sheets("VENDEDORES").Range("D65536").End(xlUp).Row).Find(AbrevVend, LookIn:=xlValues, lookat:=xlWhole)
        If Not buscoV Is Nothing Then
            Vendedor.Value = buscoV.Offset(0, -3)
        Else
            Vendedor.ListIndex = -1
        End If
    Else
        TextBox3 = ""
        TextBox5 = ""
        AbrevVend = ""
        Vendedor.ListIndex = -1
    End If
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas