2011-10-04 17 views
7

Połączyłem program Excel z bazą danych mssql 2008, a teraz dane są wypełniane programem Excel, ale nie jest to tabela. Chcę, aby automatycznie utworzyć tabelę, gdy zostały użyte load.I danychJak wygenerować okno dialogowe wyboru zakresu za pomocą vba w programie Excel?

gdzie xlWs jest arkusza programu 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. 

Aby dane do tabeli, ale nie wyświetla żadnych okno zakresie co zrobiłby to, gdybym utworzył tabelę przy użyciu GUI. Jak wyświetlić takie okno dialogowe?

Odpowiedz

10

Nie można wyświetlić wbudowany w oknie zakresie, ale można wyświetlić okno dialogowe, w którym prosi o zakresie jak ten:

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

Tak, to okno działa dobrze :) – kinkajou

0

Chyba można buid formularz z kontrolą zakresu, ale dlaczego nie po prostu używając ActiveCell jako zakresu docelowego?
Możesz ostatecznie dodać MsgBox, aby potwierdzić, że "Tabela zostanie utworzona w aktualnie aktywnej komórce. Kliknij OK, aby kontynuować, lub Anuluj" (lub coś podobnego).

+0

Jestem nowy w VBA, więc mały kod byłby pomocny :) – kinkajou

Powiązane problemy