none
Связь ячейки с запросом. Excel 2007 RRS feed

  • Вопрос

  • После использования функции QueryTables.Add у ячейки остается связь с запросом, что существенно замедляет работу с файлом. Как можно при помощи VBA эту связь убрать?

    Пробовала скопировать и вставить специальной вставкой "только значения", однако почему-то работает через раз...

    12 июля 2007 г. 12:19

Ответы

  • Code Snippet
    Sub Test()
        Dim strCn As String
        Dim strSQL As String
        Dim strPath As String
        Dim strFile As String
       
        strPath = "C:\Users\KL\"
        strFile = "Book2.xls"
        strCn = "ODBC;DSN=Excel Files;DBQ=" & strPath & strFile & _
            ";DefaultDir=" & strPath & ";DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
        strSQL = "SELECT * FROM [Sheet1$] WHERE [Title1]='feb'"
       
        With ActiveSheet.QueryTables.Add(Connection:=strCn, Destination:=ActiveSheet.Range("B1"), Sql:=strSQL)
            .Refresh BackgroundQuery:=False
            .Delete
        End With
    End Sub

     

    12 июля 2007 г. 23:54

Все ответы

  • Code Snippet
    Sub Test()
        Dim strCn As String
        Dim strSQL As String
        Dim strPath As String
        Dim strFile As String
       
        strPath = "C:\Users\KL\"
        strFile = "Book2.xls"
        strCn = "ODBC;DSN=Excel Files;DBQ=" & strPath & strFile & _
            ";DefaultDir=" & strPath & ";DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
        strSQL = "SELECT * FROM [Sheet1$] WHERE [Title1]='feb'"
       
        With ActiveSheet.QueryTables.Add(Connection:=strCn, Destination:=ActiveSheet.Range("B1"), Sql:=strSQL)
            .Refresh BackgroundQuery:=False
            .Delete
        End With
    End Sub

     

    12 июля 2007 г. 23:54
  • Большое спасибо, помогло!
    13 июля 2007 г. 7:01