variable una ultima seleccionar referencia rango que para otra macro hoja hasta hacer desde datos cumplan condicion con celdas celda activesheet activa vba excel-vba excel-2010

una - Usar VBA para solicitar al usuario que seleccione celdas(posiblemente en otra hoja)



seleccionar rango variable vba (2)

Esto no está usando el built-in que mostró arriba, pero sí le permite seleccionar un rango de celdas siguiendo un mensaje de ingreso:

Sub RangeSelectionPrompt() Dim rng As Range Set rng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8) MsgBox "The cells selected were " & rng.Address End Sub

Esto se basa en la respuesta dada en esta respuesta MrExcel .

Así es como se ve en uso:

Estoy trabajando en Excel en un proyecto de VBA y quiero que parte de mi macro solicite al usuario que seleccione un rango de celdas *, que luego la macro puede hacer.

* El tipo de aviso que se obtiene al crear un gráfico, o usando una GUI para insertar una función

por ejemplo aquí:

y aquí:

Estoy buscando algo por el estilo de

Sub MyMacro() MsgBox "Please select data range" '' allow user to select range (as images above) CreateFunctionArgumentsPrompt() ''do stuff with user selected range of cells ... End Sub

¿Es posible acceder a la funcionalidad incorporada de Excel para realizar lo que me refiero a: CreateFunctionArgumentsPrompt()

Nota: esto es similar a SO question excel vba obtener el rango del rango seleccionado por el usuario con el mouse, pero difiere en ese

  1. Quiero usar la funcionalidad de GUI incorporada de Excel como se muestra arriba
  2. Necesito poder seleccionar y referirme a un rango en una hoja que no sea la hoja de cálculo activa

Lo que está buscando es un cuadro de diálogo (también llamado diálogo común). Desafortunadamente, no puede agregar uno a los objetos integrados existentes (al menos no usando VBA).

Como se mencionó anteriormente, puede imitar esta funcionalidad usando InputBox y Formularios. Dicho esto, he visto programas propietarios que se basan en Excel y en los que la compañía agrega el tipo de funcionalidad que describe. Sin embargo, creo que tienes que usar C ++ o un lenguaje más profundo para crear archivos DLL que pueden lograr esto

Una cosa que vale la pena destacar sobre los diálogos: Excel tiene una biblioteca de objetos Common File Dialog integrada que le permite crear cuadros de diálogo de servidor de archivos comunes (como Abrir, Guardar y Seleccionar) usando los diálogos existentes de la API de Windows.