PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAKopiera flikar mellan arbetsböckerKopiera flikar mellan arbetsböcker
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2018-03-12 13:31
 
 Ändrad av ja1234  på 2018-03-13 07:43:11
Hej,
Jag försöker kopiera in data från olika flikar i en excelfil till olika flikar i en annan excelfil. För vissa av flikarna fungerar det men för två av flikarna fungerar det inte. Exempel nedan, de två första flikarna fungerar, men inte den tredje.

Får felmeddelande "Run-time error '-2147217900 (80040e14)' Invalid bracketing of name RET. MAT. RECIEPT QT.

Någon som har någon aning om vad det beror på och eventuell lösning på problemet? Kan det bero på att det är en punkt i fliknamnet?


Sub ImporteraExcelTillExcel_ADO()

'--------------------------------------------------------------
'importerar data från en extern Excelbok utan att öppna den
'--------------------------------------------------------------


'variabeldeklareringar
Dim datConnection As ADODB.Connection
Dim recSet As ADODB.Recordset
Dim recRubrik As ADODB.Field
Dim strDB, strSQL As String
Dim strDriver As String
Dim i As Long

'sökväg till den externa Excelfilen
strDB = "B:\LP\Cewe-Control\QA\Avdelningen\Drives Warranty process\20180306.xls"
'strDB = "C:\ExcelVBA\MinExcelFil.xlsx" 'filen i annan folder

'uppkoppling
Set datConnection = New ADODB.Connection

Set recSet = New ADODB.Recordset

strDriver = "DRIVER=Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)"
datConnection.Open "DBQ=" & strDB & ";" & strDriver & ";UID=admin;"

'SQL-förfrågan
strSQL = "SELECT * FROM [NCR-PRODUCT$A1:BI9999]" 'cellområde på visst ark
'strSQL = "SELECT * FROM [Cellområdesnamn]" 'för namngivna cellområden

'öppnar ett "recordset"
recSet.Open strSQL, datConnection, adOpenStatic

'väljer rätt sheet
Sheets("NCR-PRODUCT").Select

'kopierar in ny data
ActiveSheet.Range("A2").CopyFromRecordset recSet

'upprepar ovan för nästa blad i excelfilen (2)
Set recSetB = New ADODB.Recordset
strSQL = "SELECT * FROM [CREDIT-DEBIT NOTE QT$A1:L9999]"
recSetB.Open strSQL, datConnection, adOpenStatic
Sheets("CREDIT-DEBIT NOTE QT").Select
ActiveSheet.Range("A2").CopyFromRecordset recSetB

'upprepar ovan för nästa blad i excelfilen (3)
Set recSetC = New ADODB.Recordset
strSQL = "SELECT * FROM [RET. MAT. RECIEPT QT$A1:L9999]"
recSetC.Open strSQL, datConnection, adOpenStatic
Sheets("RET. MAT. RECIEPT QT").Select
ActiveSheet.Range("A2").CopyFromRecordset recSetC

'kopplar ned (viktigt!)
recSet.Close
datConnection.Close

'stänger ned objekten (viktigt!)
Set recSet = Nothing
Set datConnection = Nothing


End Sub
Nytt inlägg
 2018-03-12 13:42
 
 Ändrad av ja1234  på 2018-03-13 07:43:42
.
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAKopiera flikar mellan arbetsböckerKopiera flikar mellan arbetsböcker

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter