@Андрей VG Спасибо за ответ. Можете поправить меня, если не прав:
Код
Sub Button1_Click()
Dim cn As ADODB.Connection
Dim iRowNo As Integer
Dim sCat, sFr, sPrice As String
Dim sheet As Worksheet
Set cn = New ADODB.Connection
'Open a connection to SQL Server
cn.Open "DSN=DB;Trusted_Connection=YES;;APP=Microsoft Office 2010;;DATABASE=Data"
For Each sheet In ActiveWindow.SelectedSheets
With Sheets("Sheet1")
'Skip the header row
iRowNo = 2
'Loop until empty cell in FirstName
Do Until .Cells(iRowNo, 1) = ""
sCat = .Cells(iRowNo, 1).Text
sFr = .Cells(iRowNo, 2).Text
sPrice = .Cells(iRowNo, 3)
'Generate and execute sql statement to import the excel rows to SQL Server table
cn.Execute "insert into dbo.Fruit (Cat, Fr, Price) values ('" & sCat & "', '" & sFr & "', '" & sPrice & "')"
iRowNo = iRowNo + 1
Loop
MsgBox "Data Successfully Exported."
Set cn = Nothing
End With
With Sheets("Sheet2")
'Skip the header row
iRowNo = 2
'Loop until empty cell in FirstName
Do Until .Cells(iRowNo, 1) = ""
sCat = .Cells(iRowNo, 1).Text
sFr = .Cells(iRowNo, 2).Text
sPrice = .Cells(iRowNo, 3)
cn.Execute "insert into dbo.Fruit (Cat, Fr, Price) values ('" & sCat & "', '" & sFr & "', '" & sPrice & "')"
iRowNo = iRowNo + 1
Loop
MsgBox "Data Successfully Exported."
Set cn = Nothing
End With
Next
End Sub
Добрый день Знатокам! Второй день шарю не могу найти ответ на свой вопрос. Имеются простые таблицы из четырех столбцов на разных листах и в разных ecxel книгах. Структура таблицы везде одинаковая! Название файлов и листов разные. Эти данные при помощи небольшого макроса передаю в одну таблицу SQL (объединяю данные). Проблема в том, что приходится заходить в каждый файл, каждый лист и нажимать кнопку- много времени занимает. Собственно вопрос в том, как в коде обозначить файлы для экспорта и/или хотя бы только листы?
Код
Sub Button1_Click()
Dim cn As ADODB.Connection
Dim iRowNo As Integer
Dim sCat, sFr, sPrice As String
Dim sheet As Worksheet
Set cn = New ADODB.Connection
With Sheets("Sheet1")
cn.Open "DSN=SQLDB;Trusted_Connection=YES;;APP=Microsoft Office 2010;;DATABASE=Data"
'Skip the header row
iRowNo = 2
'Loop until empty cell in FirstName
Do Until .Cells(iRowNo, 1) = ""
sCat = .Cells(iRowNo, 1).Text
sFr = .Cells(iRowNo, 2).Text
sPrice = .Cells(iRowNo, 3)
'Generate and execute sql statement to import the excel rows to SQL Server table
'cn.Execute "Delete From dbo.Fruit"
cn.Execute "insert into dbo.Fruit (Cat, Fr, Price) values ('" & sCat & "', '" & sFr & "', '" & sPrice & "')"
iRowNo = iRowNo + 1
Loop
MsgBox "Data Successfully Exported."
cn.Close
Set cn = Nothing
End With
End Sub