2011-10-04 61 views
7

我已经将excel与mssql 2008数据库连接起来,现在数据填充到excel中,但它不是表格。我想自动创建表时的数据load.I已经使用如何在Excel中使用vba生成范围选择对话框?

其中xlWs是Excel工作表

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. 

为了使数据到表,但它并没有显示任何范围对话框,它会做,如果我会使用GUI创建表。如何显示这样的对话框?

回答

10

不能显示内置的范围对话框,但可以显示询问一​​系列这样一个对话框:

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

是的这个对话框正常工作:) – kinkajou

0

我想你可以打造专业化与挡位控制形式,但为什么不简单地使用ActiveCell作为目标范围?
您最终可能会添加一个MsgBox以确认“表格将在当前活动的单元格中创建。单击确定继续,或取消”(或类似的)。

+0

我是新来的vba,所以一些代码会有帮助:) – kinkajou