Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/10/2006, 12:08
Avatar de jsegundo
jsegundo
 
Fecha de Ingreso: noviembre-2003
Mensajes: 65
Antigüedad: 20 años, 5 meses
Puntos: 0
Ayuda con Macro (Funcion Propia) Excel

Hola foreros!

Me podrian ayudar con una macro, y es que tengo una columna (G) que tengo que llenar dependiendo del valor de A4 en este caso, donde mando llamar la funcion es en C4 de esta manera =wrang(A4) en C4 me debe regresar el valor de A4 y la columna desde G5 hasta G14 se debe llenar con los datos de H5 hasta H14, esto si el dato capturado en A4 es AXAS, si fuera DELTAS se llenaria con los datos de I5 hasta I14 y si fuera Torres seria llenado con los datos de J5 hasta J14, esto para que la celda B4 tome la validacion de lo que se debe capturar en esa celda.

En C4 tengo la validacion como una lista y toma el rango de G5 hasta G14, por eso depende de la funcion wrang() porque es variable dependiendo de lo que se capture en Valor (Columna A4)

No se si este revuelto o tal vez no se pueda, la cosa es que cuando pasa el valor de AXAS marca error, y cuando es diferente como ejemplo puse que me regrese el valor capturado.

Que esta mal?

Código:
Function wrang(rng)
    nm = ActiveSheet.Name
    Dim i As Long
    Dim g As Long
    Dim v As Long
    
    If IsEmpty(rng) Then
        wrang = ""
    End If
    
    If rng = "AXAS" Then
        wrang = "AXAS 1"
        g = 71  'rango
        v = 72
        i = 5
        For i = 5 To 14
            rx = Trim(Str(i))   ' Fila
            cl1 = Trim(Chr(g))  ' Rango Columna G
            cl2 = Trim(Chr(v))  ' Variable Columna H
            Sheets(nm).Range(cl1 + rx) = Sheets(nm).Range(cl2 + rx).Value 'Costo
        Next i
    Else
        wrang = rng
        'Sheets("Hoja1").Range("G5") = "Hola"
    End If
    
End Function