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:
Esta pregunta ya tiene una respuesta aquí:
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
- Quiero usar la funcionalidad de GUI incorporada de Excel como se muestra arriba
- 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.