nightrage
asked on
excel question
Option Explicit
Dim ws As Workspace
Dim Excelsheet As Object
Dim Worksheets
Dim Worksheet As Integer
Dim sSql$
Private Sub cmdPrint_Click()
Dim iRCnt%
Dim db As Database
Dim rs As Recordset
Dim n As Integer
Dim XName1, XName2, XName3, XName4, XName5, XName6, XName7, XName8, XName9, XName10 As String
Dim numcopies As Integer
Set Excelsheet = CreateObject("Excel.sheet" )
Worksheet = 1
If txtStockNo.Text = "" Then
MsgBox "Please enter a stockno to print"
Exit Sub
End If
If CheckExists(Val(txtStockNo .Text)) = True Then
Set ws = Workspaces(0)
Set db = OpenDatabase("c:\stock.mdb ")
sSql = "select * from Description, Product, Received_On, Issued_On, Balance where " _
+ "val(Description.StockCard No) = """ & Val(txtStockNo) & """ " _
& "and Description.StockCardNo = Product.StockCardNo and Product.ProductID = Received_On.ProductID and Received_On.ProductID = Issued_On.ProductID and Received_On.ProductID = Balance.ProductID order by Product.ProductID and Description.StockCardNo "
' & "and Product.Specifications = '" + txtSpecs.Text + "' " _
Set rs = db.OpenRecordset(sSql)
Set DtaPrint.Recordset = rs
rs.MoveLast
iRCnt = rs.RecordCount
With Excelsheet
If Worksheet > 1 Then
.Worksheets.Add
.Worksheets.PageSetup.Left Margin = .Application.InchesToPoint s(0.25)
.Worksheets.RightMargin = .Application.InchesToPoint s(0.25)
.Worksheets.TopMargin = .Application.InchesToPoint s(1)
.Worksheets.BottomMargin = .Application.InchesToPoint s(1)
.Worksheets.HeaderMargin = .Application.InchesToPoint s(0.5)
.Worksheets.FooterMargin = .Application.InchesToPoint s(0.5)
End If
.Application.Visible = True
If iRCnt = 0 Then Exit Sub
.Worksheets(1).PageSetup.L eftMargin = .Application.InchesToPoint s(0.25)
.Worksheets(1).PageSetup.R ightMargin = .Application.InchesToPoint s(0.25)
.Worksheets(1).PageSetup.T opMargin = .Application.InchesToPoint s(1)
.Worksheets(1).PageSetup.B ottomMargi n = .Application.InchesToPoint s(1)
.Worksheets(1).PageSetup.H eaderMargi n = .Application.InchesToPoint s(0.5)
.Worksheets(1).PageSetup.F ooterMargi n = .Application.InchesToPoint s(0.5)
.Worksheets(1).range("D2") .Value = "Mathematics, Science & Computing Center"
.Worksheets(1).range("D2") .Font.font style = "Bold"
'.Worksheets(1).range("D2" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("D2") .shrinktof it = False
.Worksheets(1).range("H2") .Value = "MSC"
.Worksheets(1).range("H2") .Font.font style = "Bold"
'.Worksheets(1).range("H2" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("I2") .Value = txtStockNo.Text
.Worksheets(1).range("D3") .Value = "Stock Record Card"
.Worksheets(1).range("D3") .Font.font style = "Bold"
'.Worksheets(1).range("D3" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("A5") .Value = "Description"
.Worksheets(1).range("B5") .Value = GetDesc(Val(txtStockNo))
.Worksheets(1).range("C7") .Value = "Receipts"
'.Worksheets(1).range("C7" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("G7") .Value = "Issues"
.Worksheets(1).range("I7") .Value = "Balance"
.Worksheets(1).range("J7") .Value = "Remarks"
.Worksheets(1).range("A8") .Value = "Date"
'.Worksheets(1).range("A8" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("B8") .Value = "Type"
'.Worksheets(1).range("B8" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("C8") .Value = "Bill/PO"
'.Worksheets(1).range("C8" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("D8") .Value = "Qty"
'.Worksheets(1).range("D8" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("E8") .Value = "U/Price"
'.Worksheets(1).range("E8" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("F8") .Value = "Date"
'.Worksheets(1).range("F8" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("G8") .Value = "Req/Loc"
'.Worksheets(1).range("G8" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("H8") .Value = "Qty"
'.Worksheets(1).range("H8" ).Horizont alAlignmen t = xlCenter
.Worksheets(1).range("I8") .Value = "Qty"
'.Worksheets(1).range("I8" ).Horizont alAlignmen t = xlCenter
'.Worksheets(1).range("G8" ).Borders. LineStyle = xlContinuous
'.Worksheets(1).range("G8" ).Borders. ColorIndex = xlAutomatic
.Worksheets(1).range("H5") .Borders.L ineStyle = xlContinuous
.Worksheets(1).range("H5") .Borders.C olorIndex = xlAutomatic
rs.MoveFirst
For n = 0 To iRCnt - 1
XName1 = "A" + Format(n + 10)
XName2 = "B" + Format(n + 10)
XName3 = "C" + Format(n + 10)
XName4 = "D" + Format(n + 10)
XName5 = "E" + Format(n + 10)
XName6 = "F" + Format(n + 10)
XName7 = "G" + Format(n + 10)
XName8 = "H" + Format(n + 10)
XName9 = "I" + Format(n + 10)
XName10 = "J" + Format(n + 10)
.Worksheets(1).range(XName 1).Value = rs.Fields("DateReceived")
.Worksheets(1).range(XName 2).Value = rs.Fields("Specifications" )
.Worksheets(1).range(XName 3).Value = rs.Fields("BillNumber")
.Worksheets(1).range(XName 4).Value = rs.Fields("QtyReceived")
.Worksheets(1).range(XName 5).Value = rs.Fields("UnitPrice")
.Worksheets(1).range(XName 6).Value = rs.Fields("DateIssued")
.Worksheets(1).range(XName 7).Value = rs.Fields("Requisitioner")
.Worksheets(1).range(XName 8).Value = rs.Fields("QtyIssued")
.Worksheets(1).range(XName 9).Value = rs.Fields("QuantityLeft")
.Worksheets(1).range(XName 10).Value = rs.Fields("Remarks")
.Worksheets(1).range(XName 1).Select
.Worksheets(1).range(XName 1).NumberF ormat = "dd/mm/yy"
.Worksheets(1).range(XName 6).Select
.Worksheets(1).range(XName 6).NumberF ormat = "dd/mm/yy"
.Worksheets(1).range(XName 5).Select
.Worksheets(1).range(XName 5).NumberF ormat = "$#,##0.00;[Red]$#,##0.00"
.Worksheets(1).Columns("A: A").column width = 7.14
.Worksheets(1).Columns("B: B").column width = 11.86
.Worksheets(1).Columns("C: C").column width = 11.29
.Worksheets(1).Columns("D: D").column width = 4
.Worksheets(1).Columns("E: E").column width = 7.29
.Worksheets(1).Columns("F: F").column width = 7.43
.Worksheets(1).Columns("G: G").column width = 14.86
.Worksheets(1).Columns("H: H").column width = 4.29
.Worksheets(1).Columns("I: I").column width = 6.86
.Worksheets(1).Columns("J: J").column width = 17
rs.MoveNext
Next n
numcopies = 1
Worksheet = Worksheet + 1
Excelsheet.SaveAs "c:\Bookie.xls"
'Excelsheet.printout , , numcopies
Excelsheet.Application.Qui t
'Kill "c:\Bookie.xls"
Set Excelsheet = Nothing
End With
End If
End Sub
i tried worksheets(!).range("A2"). select.hor izontalAli gnment = xlCenter
and it said xlCenter is a undefine variable
also xlcontinous and xlautomatic is undefine...
can anyone solve this problem?
Dim ws As Workspace
Dim Excelsheet As Object
Dim Worksheets
Dim Worksheet As Integer
Dim sSql$
Private Sub cmdPrint_Click()
Dim iRCnt%
Dim db As Database
Dim rs As Recordset
Dim n As Integer
Dim XName1, XName2, XName3, XName4, XName5, XName6, XName7, XName8, XName9, XName10 As String
Dim numcopies As Integer
Set Excelsheet = CreateObject("Excel.sheet"
Worksheet = 1
If txtStockNo.Text = "" Then
MsgBox "Please enter a stockno to print"
Exit Sub
End If
If CheckExists(Val(txtStockNo
Set ws = Workspaces(0)
Set db = OpenDatabase("c:\stock.mdb
sSql = "select * from Description, Product, Received_On, Issued_On, Balance where " _
+ "val(Description.StockCard
& "and Description.StockCardNo = Product.StockCardNo and Product.ProductID = Received_On.ProductID and Received_On.ProductID = Issued_On.ProductID and Received_On.ProductID = Balance.ProductID order by Product.ProductID and Description.StockCardNo "
' & "and Product.Specifications = '" + txtSpecs.Text + "' " _
Set rs = db.OpenRecordset(sSql)
Set DtaPrint.Recordset = rs
rs.MoveLast
iRCnt = rs.RecordCount
With Excelsheet
If Worksheet > 1 Then
.Worksheets.Add
.Worksheets.PageSetup.Left
.Worksheets.RightMargin = .Application.InchesToPoint
.Worksheets.TopMargin = .Application.InchesToPoint
.Worksheets.BottomMargin = .Application.InchesToPoint
.Worksheets.HeaderMargin = .Application.InchesToPoint
.Worksheets.FooterMargin = .Application.InchesToPoint
End If
.Application.Visible = True
If iRCnt = 0 Then Exit Sub
.Worksheets(1).PageSetup.L
.Worksheets(1).PageSetup.R
.Worksheets(1).PageSetup.T
.Worksheets(1).PageSetup.B
.Worksheets(1).PageSetup.H
.Worksheets(1).PageSetup.F
.Worksheets(1).range("D2")
.Worksheets(1).range("D2")
'.Worksheets(1).range("D2"
.Worksheets(1).range("D2")
.Worksheets(1).range("H2")
.Worksheets(1).range("H2")
'.Worksheets(1).range("H2"
.Worksheets(1).range("I2")
.Worksheets(1).range("D3")
.Worksheets(1).range("D3")
'.Worksheets(1).range("D3"
.Worksheets(1).range("A5")
.Worksheets(1).range("B5")
.Worksheets(1).range("C7")
'.Worksheets(1).range("C7"
.Worksheets(1).range("G7")
.Worksheets(1).range("I7")
.Worksheets(1).range("J7")
.Worksheets(1).range("A8")
'.Worksheets(1).range("A8"
.Worksheets(1).range("B8")
'.Worksheets(1).range("B8"
.Worksheets(1).range("C8")
'.Worksheets(1).range("C8"
.Worksheets(1).range("D8")
'.Worksheets(1).range("D8"
.Worksheets(1).range("E8")
'.Worksheets(1).range("E8"
.Worksheets(1).range("F8")
'.Worksheets(1).range("F8"
.Worksheets(1).range("G8")
'.Worksheets(1).range("G8"
.Worksheets(1).range("H8")
'.Worksheets(1).range("H8"
.Worksheets(1).range("I8")
'.Worksheets(1).range("I8"
'.Worksheets(1).range("G8"
'.Worksheets(1).range("G8"
.Worksheets(1).range("H5")
.Worksheets(1).range("H5")
rs.MoveFirst
For n = 0 To iRCnt - 1
XName1 = "A" + Format(n + 10)
XName2 = "B" + Format(n + 10)
XName3 = "C" + Format(n + 10)
XName4 = "D" + Format(n + 10)
XName5 = "E" + Format(n + 10)
XName6 = "F" + Format(n + 10)
XName7 = "G" + Format(n + 10)
XName8 = "H" + Format(n + 10)
XName9 = "I" + Format(n + 10)
XName10 = "J" + Format(n + 10)
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).range(XName
.Worksheets(1).Columns("A:
.Worksheets(1).Columns("B:
.Worksheets(1).Columns("C:
.Worksheets(1).Columns("D:
.Worksheets(1).Columns("E:
.Worksheets(1).Columns("F:
.Worksheets(1).Columns("G:
.Worksheets(1).Columns("H:
.Worksheets(1).Columns("I:
.Worksheets(1).Columns("J:
rs.MoveNext
Next n
numcopies = 1
Worksheet = Worksheet + 1
Excelsheet.SaveAs "c:\Bookie.xls"
'Excelsheet.printout , , numcopies
Excelsheet.Application.Qui
'Kill "c:\Bookie.xls"
Set Excelsheet = Nothing
End With
End If
End Sub
i tried worksheets(!).range("A2").
and it said xlCenter is a undefine variable
also xlcontinous and xlautomatic is undefine...
can anyone solve this problem?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Dim XName1, XName2, XName3, XName4, XName5, XName6, XName7, XName8, XName9, XName10 As String
note:- in the above line, i am guessing that you want all variables to be strings....
The way you are declaring them all are variants except XName10
You must declare each variable individually.
You can use the shortcuts..
i.e.
&=Long
$=String
%=Integer.....
Hope this helps
Frazer