Hi Rick,

the code below was run from Access.

It opens a table (Tbl_EPR) in a recordset, then it opens an Excel
spreadsheet and covers rows 1 to 100, extracting the information from
certain columns.

At the end of each row it writes the data to a record in an access
table and then moves to the next column.

This repeats for 13 worksheets within the workbook, all the data being
transferred to one table.

Apologies for the lack of notes in the code, I'm happy to answer any
questions you have about it though.

hope it helps,
Owen



---------------------------------------------
Private Sub btn_Import_Click()
Dim xlApp As Excel.Application
Dim wb As Excel.Workbook
Dim WriteRS As DAO.Recordset
Dim db As DAO.Database

DoCmd.SetWarnings (0)
DoCmd.RunSQL "DELETE FROM Tbl_EPR"
DoCmd.SetWarnings (-1)

Set db = CurrentDb
Set WriteRS = db.OpenRecordset("tbl_EPR", dbOpenDynaset)
Set xlApp = CreateObject("Excel.Application")
Set wb = xlApp.Workbooks.Open("P:\Roger\revenue\MMPR.xls")



Dim col As Integer
Dim row As Integer
Dim WorksheetName As String
Dim acctNo As String
Dim CoName As String
Dim acctMan As String
Dim revenue As String
Dim Products As String
Dim currentMonth As String
Dim lastrow As Integer



Dim Y As Integer
Y = 1


Do While Y <= 13


  wb.Worksheets(Y).Activate
   
   row = 3
   Do While row <= 100
     acctNo = wb.Worksheets(Y).Cells(row, 2).Value
     CoName = wb.Worksheets(Y).Cells(row, 1).Value
     acctMan = wb.Worksheets(Y).Cells(row, 3).Value
     revenue = wb.Worksheets(Y).Cells(row, 17).Value

     
     col = 4
     Do While col <= 17
       If wb.Worksheets(Y).Cells(row, col) <> "" Then
         If Products = "" Then
           Products = wb.Worksheets(Y).Cells(2, col).Value
         Else
           Products = Products & ", " & wb.Worksheets(Y).Cells(2,
col).Value
         End If
       End If
     col = col + 1
     Loop
    
   With WriteRS
        .AddNew
        !Acct_no = acctNo
        !name = CoName
        !Acct_Man = acctMan
        If revenue <> "" Then
        !Total = revenue
        End If
        !Products = Products
        !monthdue = wb.Worksheets(Y).name
        .Update
    End With
    Products = ""
    acctNo = ""
    CoName = ""
    acctMan = ""
    revenue = ""
    row = row + 1
    Loop                                   'end row 3 - last row
    
    Y = Y + 1                'end worksheets
Loop

wb.Close
Set WriteRS = Nothing
Set xlApp = Nothing
Set db = Nothing
------------------------------------------------




 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/AccessVBACentral/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to