¿Cómo puedo obtener un rango de celdas seleccionadas a través de la entrada del mouse del usuario para su posterior procesamiento usando VBA?Obtener rango seleccionado por el usuario
Respuesta
Puede recorrer el objeto Selección para ver lo que se seleccionó. Aquí es un fragmento de código de Microsoft (http://msdn.microsoft.com/en-us/library/aa203726(office.11).aspx):
Sub Count_Selection()
Dim cell As Object
Dim count As Integer
count = 0
For Each cell In Selection
count = count + 1
Next cell
MsgBox count & " item(s) selected"
End Sub
Gracias. Eso es lo que necesito – Talguy
¿No debería bastar Selection.Count? Creo que la propiedad Count está disponible en el objeto Selection. Bucle a través de toda la selección parece una sobrecarga. –
Acababa de publicar un examen sobre cómo usar el objeto de selección. Uso la propiedad count en mi código – Talguy
Selection
es su propio objeto dentro de VBA. Funciona muy parecido a un objeto Range
.
La selección y el rango no comparten todas las mismas propiedades y métodos, por lo que para facilitar su uso puede tener sentido crear un rango y establecerlo igual a la selección, entonces puede tratarlo programáticamente como cualquier otro rango
Dim myRange as Range
Set myRange = Selection
Para leer más, echa un vistazo a la MSDN article.
Si bien la selección es del tipo Range, ¿qué accesorios y métodos se echa en falta? Siempre lo echo directamente al tipo Range de todos modos, pero solo me interesa. –
Esto depende de lo que quiere decir con "obtener el rango de selección". Si quiere decir obtener el rango dirección (como "A1: B1") entonces use la propiedad Address del objeto Selection - como Michael dijo que el objeto Selection es muy parecido a un objeto Range, por lo que la mayoría de las propiedades y métodos funcionan en él.
Sub test()
Dim myString As String
myString = Selection.Address
End Sub
- 1. Excel VBA obtiene rango de rango seleccionado por el mouse
- 2. ¿Cómo reemplazar el texto en UITextView con el rango seleccionado?
- 3. Obtener el texto resaltado/seleccionado
- 4. JQuery - Obtener el valor seleccionado
- 5. Vim - conteo de líneas en el rango seleccionado
- 6. DataGridView obtener el objeto seleccionado actual
- 7. ¿Puedo recuperar el texto seleccionado por el usuario en una entrada de formulario de texto?
- 8. Obtener elemento seleccionado tipo
- 9. WordPress obtener usuario por metadatos
- 10. Obtener el subcomando seleccionado con argparse
- 11. cómo obtener el objeto seleccionado NSPopUpButton?
- 12. android listview obtener el elemento seleccionado
- 13. ¿Cómo obtener el elemento seleccionado de ListView?
- 14. Obtener índice seleccionado de UITableView
- 15. ¿Cómo sumar columnas para un rango seleccionado usando VBA?
- 16. Cómo obtener los contenidos de un * archivo * * seleccionado por el usuario * local * en javascript sin ninguna publicación, obtención, envío, etc.
- 17. Obtener valor seleccionado de JXTreeTable
- 18. Obtener Python sin (seleccionado) baterías
- 19. execCommand en el rango
- 20. Utilice Javascript para obtener el texto seleccionado en Mobile Safari
- 21. JQuery: cómo obtener el valor del botón de opción seleccionado?
- 22. jQuery obtener el valor desplegable seleccionado en el cambio
- 23. Evento ComboBox SelectedIndexChanged: cómo obtener el índice previamente seleccionado?
- 24. obtener la última foto tomada por el usuario
- 25. ¿Cómo obtener información sobre un tipo definido por el usuario?
- 26. WSO2 obtener usuario por valor de reclamación
- 27. ¿Cómo obtener el texto seleccionado de edittext en android?
- 28. Obtener el elemento seleccionado en ListView win32 API
- 29. Jquery para obtener el texto seleccionado de la lista desplegable
- 30. iOS: Cómo obtener el UIMenuItem seleccionado de UIMenuController
Registre una macro, realice sus acciones, detenga la macro y luego vea el código generado. – Sarfraz
Probé eso pero eso genera un rango predefinido. Quiero un rango que variará cada vez. – Talguy
Esto se debe a que tiene desactivada la opción "Usar referencias relativas" (está en la pestaña Desarrollador del grupo Código). Como se refiere a la respuesta a continuación, es el objeto Selección (que es una instancia de Rango) que se grabará. –