Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am trying to extract data from several Excel spreadsheets using the
Excel object in VBA (Access 2000, specifically). However, this one spreadsheet is giving me a headache. This is the code: Sub ProcessSpreadsheet(xlbk As Excel.Workbook) Dim xlsheet As Excel.Worksheet Dim RSOUT As Recordset Dim style As String Dim color As String Dim ONHAND As Long Dim i As Long Set RSOUT = CurrentDb.OpenRecordset("tblCutOrders") RSOUT.Index = "PrimaryKey" For Each xlsheet In xlbk.Worksheets With xlsheet 'If xlsheet.Name = "VEGAS GOLD" And .Range("G1") = "95" Then Stop ONHAND = 0 If .Name < "TOTAL" Then color = .Name style = .Range("G1") i = 4 Do Until xlsheet.Range("D" & i) = "TOTAL" If InStr(1, .Range("D" & i), "INVENTORY") 0 Or InStr(1, .Range("D" & i), "ADJUST") 0 Or Trim(.Range("D" & i)) = "" Or InStr(1, .Range("D" & i), "RECEIVED") 0 Or InStr(1, .Range("D" & i), "DEFECT") 0 Then Debug.Print "Not a cut" ONHAND = ONHAND + Val(xlsheet.Range("e" & i)) ElseIf InStr(1, xlsheet.Range("D" & i), "ORDER") 0 Then CurrentDb.Execute "INSERT INTO tblFabricOrders(STYLE,COLOR,FabricOrder,Yards) VALUES('" & style & "','" & color & "','" & .Range("D" & i) & "'," & .Range("E" & i) & ")" ONHAND = ONHAND Else RSOUT.Seek "=", style, color, xlsheet.Range("D" & i) If Not RSOUT.NoMatch Then RSOUT.Edit RSOUT!CUTYARDS = -1 * Val(xlsheet.Range("E" & i)) RSOUT.Update Else RSOUT.AddNew RSOUT!style = style RSOUT!color = color RSOUT!CUTORDERNUMBER = xlsheet.Range("D" & i) RSOUT!CUTYARDS = -1 * Val(xlsheet.Range("E" & i)) RSOUT.Update End If ONHAND = ONHAND + Val(xlsheet.Range("e" & i)) End If i = i + 1 DoEvents Loop CurrentDb.Execute "INSERT INTO tblInventory(STYLE, COLOR, Yards) VALUES('" & style & "','" & color & "'," & ONHAND & ")" End If End With Next End Sub I call ProcessSpreadsheet with xlbk defined as an Excel Workbook. When I get to the part where it looks for values in xlsheet.range("E" & i) or .range("E" & i) (I've tried it both ways), the value for ..range("E4") is blank on this one sheet, but when I go to the sheet, cell E4 is certainly not blank and has a numeric value in it. I've recreated the sheet, cut and pasted values into it, to no avail. Other sheets seem to work just fine, according to the person who was looking at the data with me. |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
2 level subtotal result weird | Excel Discussion (Misc queries) | |||
Weird Problem while Importing Data into another sheet | Excel Discussion (Misc queries) | |||
Result from many excel file sheet | Excel Programming | |||
Weird result | Excel Programming | |||
Array formula weird result | Excel Discussion (Misc queries) |