Complementos

Hola Fernando, espero que ya me hayas perdonado... Estoy aquí nuevamente porque necesito de tu ayuda.. Mi pregunta es la siguiente:
Deseo crear un complemento... Osea tengo un formulario donde agregué un RefEdit y un comando aceptar y otro cancelar, lo que deseo es que cuando seleccione las celdas con el RefEdit al Aceptarlas me debe sumar las celdas seleccionas, lo que no se es como hacerle que las celdas seleccionadas usen la función suma, gracias de antemano.
1

1 Respuesta

540.850 pts. Por falta de tiempo para responder como me gusta...
Primero (y principal), espero que estés reestablecida de loquefuera que te internó. De corazón!
Segundo, no tengo nada que perdonarte. Simplemente, insistí con una devolución, toda vez que vi que -el mismo día- habías contestado a alguien a quién le habías hecho la misma pregunta (¿celoso yo?!)
Tercero, tu pregunta sobre suma de un rango seleccionado con un control RefEdit:
Supongo que ya tienes el código para mostrar el formulario, entonces al botón de "Aceptar" asóciale este código:
Private Sub CommandButton1_Click()
Dim range2sum As Range
If Len(RefEdit1) > 0 Then
Set range2sum = Range(RefEdit1)
SUMASEL = Application.WorksheetFunction.Sum(range2sum)
Else
MsgBox "No seleccionó rango. Salgo...", vbInformation, ">>>> ... Y EL RANGO ?!!"
End If
Unload Me
End Sub
Esto dejará en la variable SUMASEL el resultado de la suma del rango seleccionado con el control...
Luego podrás aplicarlo como desees.
Cuidate!
Un beso
Fernando
Hola Nando, probé el código y no funcionó... lo que pasa es que no suma nada, es decir no arroja ningún resultado
Como te dije: "Esto dejará en la variable SUMASEL el resultado de la suma del rango seleccionado con el control...
Luego podrás aplicarlo como desees".
Así que es probable que si lo usas así como está no veas nada.
Pero puedes probarlo agregando un mensaje que te muestre el contenido de la variable.
Tu código sería algo así:
Private Sub CommandButton1_Click()
Dim range2sum As Range
If Len(RefEdit1) > 0 Then
Set range2sum = Range(RefEdit1)
SUMASEL = Application.WorksheetFunction.Sum(range2sum)
Msgbox SUMASEL '<-- Agregué esta línea.
Else
MsgBox "No seleccionó rango. Salgo...", vbInformation, ">>>> ... Y EL RANGO ?!!"
End If
Unload Me
End Sub
--
Así lo probé -antes de enviarte el código- y funcionó OK.
También puedes hacer que deje el resultado en una celda, con una instrucción del tipo:
Activecell.value = SUMASEL
Por eso lo dejé en la variable como para que tu le agregues la instrucción que necesites.
Besos!
Fernando
Ahora si le di con
Activecell.value = SUMASEL
Gracias Nando pero eso no es todo lo que deseo.. lo necesito saber además es cómo le hago para que esté como complemento y que se muestre en la barra de herramientas (algo así como la opción autoguardar)... osea activo el casillero y hago clic en el nombre que llama al formulario y este aparece y ejecuta las órdenes... y con respecto a que yo escribí a otro experto no se muy bien a que pregunta te refieres.. lo que si recuerdo es que primero hice una pregunta a otro experto y cuando su respuesta no me satisfacía te pregunté a ti... así que no hay porque molestarse eh... gracias.
OK, Sandra!
Primero arma y prueba bien tu rutina hasta que estés sesgura de que funciona bien.
Luego crea una barra de herramientas personalizada (por ejemplo, llamala "LANZAR") y agregale un botón personalizado ("Herramientas" | "Personalizar..." y accedes a ambas solapas) al cual asociarás la macro que generaste.
Asegúrate de Adjuntar la barra al archivo o crea una macro de apertura (y cierre) colocando en "ThisWorkbook" estos códigos:
Private Sub Workbook_Open()
Application.CommandBars("LANZAR").Visible = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("LANZAR").Visible = False
End Sub
Elimina aquellas hojas que no fueran necesarias.
Si haces "Archivo" | "Propiedades" e ingresas una explicación en "Comentarios" esta aparecerá cuando vayas a seleccionar el complemento.
Guarda este archivo como backup del complemento.
Ahora, usa la opción Guardar como para grabar este archivo como un "complemento".
Cierra tu versión standard.
Con "Herramientas" | "Complementos" busca tu archivo xla y seleccionalo. Aparecerá en la lista de complementos. Simplemente faltará que lo marques y se cargará.
La próxima vez que abras MS Excel tendrás disponible la macro y podrás ejecutar tu macro en cualquier archivo.
Esta es la primera vez que tengo que explicar la generación de Add-ins (bueno, complementos) y no sé si fui muy claro.
De todos modos, el notable amigo Valedor ha incluido recientemente en su sitio personal una explación -lejos- más gráfica que la mía sobre todo el tema de "Complementos" que, considero, te puede ser muy útil.
Puedes leerla en:
http://www.vbalym.netfirms.com/excel/exco1.html
Bien, espero que te sirva para resolverlo.
(Ahora voy por tu otra pregunta)
Un beso!
Fer
Pd. Olvidate de la otra pregunta. Ya está!
Gracias Nando fuiste muy claro con lo de la Barra, sólo que yo quería como comando en el menú herramientas.. pero eso lo resuelvo yo misma

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas