Namnet ExternaData_xx eller Fråga_från_xxx läggs upp. Varför? Kan man hindra det när frågan körs? Hur kör du frågan i Excel? With ActiveSheet.QueryTables.Add(Connection:=sConnString, Destination:=Range(sStartCell))Varför läggs namn upp automatiskt i Excel när SQL-fråga körs via VBA?
Nu kör jag följande innan SQL-frågan för att rensa de som finns:
Sub RensaExternaData()
Dim AntalNamn As Object
Dim Namn As String
Dim SträngTest As Boolean, SträngTest2 As Boolean
Dim i As Integer
Set AntalNamn = ActiveWorkbook.Names
For i = 1 To AntalNamn.Count
If i <= AntalNamn.Count Then
Namn = AntalNamn(i).Name
SträngTest = Namn Like "*Externadata*"
SträngTest2 = Namn Like "*Fråga_från*"
If SträngTest Or SträngTest2 Then
ActiveWorkbook.Names(i).Delete
Set AntalNamn = ActiveWorkbook.Names
i = i - 1
Namn = AntalNamn(i).Name
Else: End If
Else: End If
Next
End Sub
/jonasSv: Varför läggs namn upp automatiskt i Excel när SQL-fråga körs via VBA?
Sv: Varför läggs namn upp automatiskt i Excel när SQL-fråga körs via VBA?
.CommandText = sSQLstring
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
/jonas