Elegir de una lista desplegable opciones para luego insertarlas en una celda

3 envíos / 0 nuevos
Último envío
geron
Imagen de geron
Offline
última acción: Hace 3 años 11 meses
alta: 20/04/2020 - 17:52
Puntos: 35
Elegir de una lista desplegable opciones para luego insertarlas en una celda

Hola a todos,

Espero esten bien, escribo ya que apenas tengo pocos días aprendiendo a programar y lo hago para ayudarme con la elaboración de presupuestos (tema aparte). Lo cierto es que he avanzado en mi proyecto pero tengo ya rato sin avanzar ya que no consigo como automatizar algo, les explico lo que estoy necesitando con el mismo código que he elaborado, de antemano recuerden que soy principiante:

Sub AggMat()

    Dim Mat As String

'ESTE INPUTBOX LO QUIERO CAMBIAR A UNA LISTA DESPLEGABLE, Y QUE SU RESULTADO SE VAYA A LA CELDA B11

    Mat = InputBox("Descripción:", "Agregar material a partida")

    ActiveSheet.Range("B11") = Mat

        If Mat = "" Then

        Else

    'ESTE PROCEDIMIENTO A CONTINUACIÓN ES POR QUE INICIALMENTE NO HAY MATERIALES AGREGADOS, ENTONCES POR CADA MATERIAL QUE BUSQUE EN LA LISTA DESPLEGABLE CON ESTO LO LOGRE PASAR A LA FILA 12 Y ASÍ TENER LA 11 VACIA PARA AGREGAR UNO NUEVO (EN CUANTO A LA PRESENTACIÓN SE VE RARO YA QUE SIEMPRE ESTARÁ VACIA LA FILA 11, PERO NO SE COMO HACERLO DE OTRA MANERA JAJA

    ' Insertar fila nueva para material

    Rows("11:11").Select

    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

    Range("A12:G12").Select

    Selection.AutoFill Destination:=Range("A11:G12"), Type:=xlFillDefault

    Range("B11").Value = Empty

    'ACA LE AGREGO FORMULAS DE COINCIDIR E INDICE PARA QUE EL TEXTO DE LA CELDA B11 SEA BUSCADO EN LA HOJA DE MATERIALES Y ME TRAIGO A ESTA HOJA SUS CARACTERISTICAS (CODIGO, UNIDAD, DEPRECIACIÓN Y PRECIO)

    ' InsertarCaracteristicasMat Macro

    Range("A12").Select

    ActiveCell.FormulaR1C1 = _

        "=+IFERROR((INDEX('Mat&SubCon'!C:C[6],MATCH(RC2,INDEX('Mat&SubCon'!C:C[6],,MATCH(R[-2]C[1],'Mat&SubCon'!R1C1:R1C7,0)),0),MATCH(R10C1,'Mat&SubCon'!R1C1:R1C7,0))),"""")"

    Range("C12").Select

    ActiveCell.FormulaR1C1 = _

        "=+IFERROR((INDEX('Mat&SubCon'!C[-2]:C[4],MATCH(RC2,INDEX('Mat&SubCon'!C[-2]:C[4],,MATCH(R[-2]C[-1],'Mat&SubCon'!R1C1:R1C7,0)),0),MATCH(R10C3,'Mat&SubCon'!R1C1:R1C7,0))),"""")"

    Range("E12").Select

    ActiveCell.FormulaR1C1 = _

        "=+IFERROR((INDEX('Mat&SubCon'!C[-4]:C[2],MATCH(RC2,INDEX('Mat&SubCon'!C[-4]:C[2],,MATCH(R[-2]C[-3],'Mat&SubCon'!R1C1:R1C7,0)),0),MATCH(R10C5,'Mat&SubCon'!R1C1:R1C7,0))),"""")"

    Range("F12").Select

    ActiveCell.FormulaR1C1 = _

        "=+IFERROR((INDEX('Mat&SubCon'!C[-5]:C[1],MATCH(RC2,INDEX('Mat&SubCon'!C[-5]:C[1],,MATCH(R[-2]C[-4],'Mat&SubCon'!R1C1:R1C7,0)),0),MATCH(R10C6,'Mat&SubCon'!R1C1:R1C7,0))),"""")"

   

'ACA LOGRO PONER A MULTIPLICAR LA CELDA DONDE IRÁ LA CANTIDAD (VALOR QUE SE LO AGREGO DESPUES DE FORMA MANUAL) POR EL COSTO DEL MATERIAL, PERO NO SE COMO PROGRAMAR PARA QUE LUEGO DE AGREGAR TODOS LOS MATERIALES (ES VARIABLE LA CANTIDAD DE MATERIALES) SE SUMEN TODOS MAS ABAJO (ADJUNTARÉ IMAGEN DE LA HOJA)

    ' MultiplicarCantidadPorCostoMat Macro

    Range("G12").Select

    ActiveCell.FormulaR1C1 = "=+IFERROR(RC[-3]*RC[-2],"""")"

    Range("D12").Select

       

    End If

End Sub

 
Adelantandome un poco, como la cantidad de materiales es variable, con la forma en que agrego materiales no me servirá para agregar equipos y mano de obra, ya que las filas se modificarán. Entonces la condición ideal para insertar las nuevas filas para materiales se busque y la celda que tenga el texto "1.- MATERIALES" se haga un offset(2,1) y esa celda tomará el valor que se escoja en la lista desplegable y lo ideal es que la nueva fila se inserte debajo, para que no quede en blanco la primera.
 
Bueno la verdad espero alguien tenga tiempo para ayudarme con esto, agradecido de antemano.
AdjuntoTamaño
Image icon hoja_apu.jpg152.21 KB

Etiquetas: 

geron
Imagen de geron
Offline
última acción: Hace 3 años 11 meses
alta: 20/04/2020 - 17:52
Puntos: 35
Conseguí lo que necesitaba

A pesar de no tener respuesta por acá, conseguí lo que necesitaba. Si alguien necesita resolver algo similar, escriba que con gusto lo ayudaré con lo poco que se.

ramirohd
Imagen de ramirohd
Offline
última acción: Hace 3 años 7 meses
alta: 30/08/2020 - 14:28
Puntos: 10
me podrías ayudar?

Buenos días geron, me encuentro en el mismo problema, quisiera saber cómo le hiciste para agregar un comboBox dentro de un Inputbox. Gracias