2011-10-04 31 views
7

He conectado Excel con la base de datos mssql 2008 y ahora los datos se incluyen en Excel, pero no es una tabla. Quiero crear una tabla de forma automática cuando se han utilizado los datos load.I¿Cómo generar el cuadro de diálogo de selección de rango usando vba en Excel?

donde xlWs es excel hoja

Sub CreateTable(ByRef xlWs As Object) 
    xlWs.ListObjects.Add(xlSrcRange, , , xlYes).Name = _ 
     "Table1" 
     'No go in 2003 
    xlWs.ListObjects("Table1").TableStyle = "TableStyleLight2" 
End Subs into excel. 

Para hacer que los datos en la tabla, pero que no muestra ningún diálogo gama tan Sería bueno si creara una tabla usando GUI. ¿Cómo mostrar ese diálogo?

Respuesta

10

No se puede visualizar el construido en el diálogo de gama, pero puede mostrar un cuadro de diálogo que pide un rango de esta manera:

Dim ThisRng As Range 
Set ThisRng = Application.InputBox("Select a range", "Get Range", Type:=8) 
+0

sí este diálogo funciona bien :) – kinkajou

0

Creo que se puede buid un formulario con un control de rango, pero por qué no simplemente usando ActiveCell como el rango de destino?
Eventualmente podría agregar un MsgBox para confirmar que "La tabla se creará en la celda actualmente activa. Haga clic en Aceptar para continuar o en Cancelar" (o algo similar).

+0

Soy nuevo en vba por lo que un pequeño código sería útil :) – kinkajou

Cuestiones relacionadas