Solved

using the excel sheet in a VB form

Posted on 2001-07-24
8
155 Views
Last Modified: 2012-06-21
I am trying to use the excel sheet in a vb form to keep the program clean.  When I added the sheet to the form it's default name is 'Sheet1'.  I want to be able to populate the sheet from a access DB and allow the user to make changes and then save data back to DB.  I'm having problems referencing the cells.  Can anyone show me the code on how to reference the 'Sheet1' so I can control the cells?
0
Comment
Question by:jayhogan
  • 4
  • 3
8 Comments
 
LVL 8

Expert Comment

by:Dave_Greene
ID: 6312923
Here is an example

Private Sub cmdButtonSum_Click()

   Dim Obj1 As Object
   Dim answer As Integer
       
        Set Obj1 = CreateObject("Excel.Application")
        Obj1.Visible = True
        Obj1.Workbooks.Add
        Obj1.Cells(1, 1).Value = textbox1.Text
        Obj1.Cells(2, 1).Value = textbox2.Text
        Obj1.Cells(3, 1).Formula = "=R1C1+R2C1"
        answer = Obj1.Cells(3, 1)
        MsgBox (answer)
        Obj1.Application.Quit
        Set Obj1 = Nothing



End Sub

0
 

Expert Comment

by:Alon_h
ID: 6313202
Hi jayhogan.

Try this :

Private Sub Command1_Click()
Dim xlApp As New Excel.Application
Dim xlWb As New Excel.Workbook
Dim xlSht As Excel.Sheets

   Set xlApp = CreateObject("Excel.Application")
   xlApp.Visible = True
   
   Set xlWb = xlApp.Workbooks.Add
   Set xlSht = xlWb.Sheets
   
   xlSht(1).Cells(1, 1) = "Test"
   MsgBox xlSht(1).Name
   
   xlApp.Quit
   Set xlSht = Nothing
   Set xlWb = Nothing
   Set xlApp = Nothing
   
End Sub
0
 

Author Comment

by:jayhogan
ID: 6313475
these 2 routines work but they still open excel outside of vb.  What I've added is under Project - Componets - Insertable Objects - and then Microsoft Excel Worksheet.  Adding this allows me to create a sheet on a form.  That's the one I'm trying to edit.
0
 
LVL 8

Accepted Solution

by:
Dave_Greene earned 100 total points
ID: 6313482
Just get rid of  "Set Obj1 = CreateObject("Excel.Application")"

Use Obj1 or whatever your control name is on the form  

Cheers
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 

Author Comment

by:jayhogan
ID: 6314047
when i try to run

frmAddTags.Sheet1.Cells(1,1)

i get an error 'Method or Data Member not found
0
 
LVL 8

Expert Comment

by:Dave_Greene
ID: 6314056
looks like you are bypassing your excel object and coding right to the sheet level.  

frmAddTags.<EXCELControlNameHere>.Sheet1.Cells(1,1)
0
 

Author Comment

by:jayhogan
ID: 6314081
I figured it out. my line must read

frmAddTags.Sheet1.Object.Worksheets("Sheet1").Cells(1, 1) = "????"

I'm going to accept your answer because you did get me going towards the right direction. thanks
0
 

Author Comment

by:jayhogan
ID: 6314085
I figured it out. my line must read

frmAddTags.Sheet1.Object.Worksheets("Sheet1").Cells(1, 1) = "????"

I'm going to accept your answer because you did get me going towards the right direction. thanks
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now