+ Reply to Thread
Results 1 to 5 of 5

Working on the wrong sheet

  1. #1
    Registered User
    Join Date
    06-16-2005
    Posts
    62

    Question Working on the wrong sheet

    I am not able to manipulate data on the "Charts" worksheet.

    I have three worksheets ("Charts", "Data", and "DataDown") in a single workbook.
    1. The "Charts" worksheet is where the final output needs to reside.
    2. The "Data" worksheet is data copied from "DataDown" and another workbook.
    3. The "DownData" worksheet is a download of 49 columns.

    I have entered the subroutine below on the "Data" worksheet. When the sunroutine runs, it brings the "Charts" worksheet to the front but manipulates the data on the "Data" sheet.

    I need to be able to manipulate the data on the "Charts" worksheet from the "Data" worksheet. I do not even need to bring the "Charts" worksheet to the front.

    I have lost my senses and cannot alter the data on "Charts".

    Your thoughts are eagerly sought and appreciated!

    Craigm

    ----------------------
    Sub Acc_Types()

    Dim wbBook As Workbook
    Dim wsSheet As Worksheet

    Dim rDescription 'Description Column

    Set wbBook = Workbooks("Charts_DataDown.xls")
    Set wsSheet = wbBook.Sheets("Data")

    Worksheets("Charts").Activate 'Move to "Charts" worksheet

    'We are manipulating the DATA Sheet NOT CHARTS sheet!
    For Each rDescription In Range("A8:A10")
    If rDescription.Value <> "" Then
    rDescription.Value = rDescription.Value & "9999;"
    End If


    Next rDescription

    End Sub
    -----------------------------------

  2. #2
    Forum Contributor
    Join Date
    01-21-2005
    Location
    Colorado
    MS-Off Ver
    2000,2003,2007
    Posts
    481
    Does the sub need to be in the Data worksheet.

    If you put it in a standard module it should run as you want.

    Alternatively if you need to keep it in the Data worksheet you could try specifying the Charts worksheet each time you want to manipulate data on it.

    ie, change:

    For Each rDescription In Range("A8:A10")

    to:

    For Each rDescription In Sheets("Charts").Range("A8:A10")

    If your code is in a particular worksheet it will act on that worksheet unless explicitly to do otherwise.

    HTH

  3. #3
    Jake Marx
    Guest

    Re: Working on the wrong sheet

    Hi Craig,

    OK, a few things. First, there is no need to Activate the "Charts"
    Worksheet here, as you mentioned. Second, if your code resides behind the
    "Data" Worksheet and you don't full-qualify your Range references (ie,
    provide the Workbook and/or Worksheet object references), the Range objects
    will always refer to "Data" Worksheet.

    I would recommend using a standard code module instead of putting the code
    behind a Worksheet. You can do what you're looking to do with this code:

    Sub Acc_Types()
    Dim rDescription As Range

    For Each rDescription In Worksheets("Charts" _
    ).Range("A8:A10")
    If rDescription.Value <> "" Then
    rDescription.Value = rDescription.Value & "9999;"
    End If
    Next rDescription
    End Sub

    --
    Regards,

    Jake Marx
    MS MVP - Excel
    www.longhead.com

    [please keep replies in the newsgroup - email address unmonitored]


    Craigm wrote:
    > I am not able to manipulate data on the "Charts" worksheet.
    >
    > I have three worksheets ("Charts", "Data", and "DataDown") in a single
    > workbook.
    > 1. The "Charts" worksheet is where the final output needs to reside.
    > 2. The "Data" worksheet is data copied from "DataDown" and another
    > workbook.
    > 3. The "DownData" worksheet is a download of 49 columns.
    >
    > I have entered the subroutine below on the "Data" worksheet. When the
    > sunroutine runs, it brings the "Charts" worksheet to the front but
    > manipulates the data on the "Data" sheet.
    >
    > I need to be able to manipulate the data on the "Charts" worksheet
    > from the "Data" worksheet. I do not even need to bring the "Charts"
    > worksheet to the front.
    >
    > I have lost my senses and cannot alter the data on "Charts".
    >
    > Your thoughts are eagerly sought and appreciated!
    >
    > Craigm
    >
    > ----------------------
    > Sub Acc_Types()
    >
    > Dim wbBook As Workbook
    > Dim wsSheet As Worksheet
    >
    > Dim rDescription
    > 'Description Column
    >
    > Set wbBook = Workbooks("Charts_DataDown.xls")
    > Set wsSheet = wbBook.Sheets("Data")
    >
    > Worksheets("Charts").Activate 'Move to "Charts" worksheet
    >
    > 'We are manipulating the DATA
    > Sheet NOT CHARTS sheet!
    > For Each rDescription In Range("A8:A10")
    > If rDescription.Value <> "" Then
    > rDescription.Value = rDescription.Value & "9999;"
    > End If
    >
    >
    > Next rDescription
    >
    > End Sub
    > -----------------------------------



  4. #4
    Tom Ogilvy
    Guest

    Re: Working on the wrong sheet

    Move the code to a general module, not the sheet module of the Data sheet.
    --
    Regards,
    Tom Ogilvy

    "Craigm" <[email protected]> wrote in
    message news:[email protected]...
    >
    > I am not able to manipulate data on the "Charts" worksheet.
    >
    > I have three worksheets ("Charts", "Data", and "DataDown") in a single
    > workbook.
    > 1. The "Charts" worksheet is where the final output needs to reside.
    > 2. The "Data" worksheet is data copied from "DataDown" and another
    > workbook.
    > 3. The "DownData" worksheet is a download of 49 columns.
    >
    > I have entered the subroutine below on the "Data" worksheet. When the
    > sunroutine runs, it brings the "Charts" worksheet to the front but
    > manipulates the data on the "Data" sheet.
    >
    > I need to be able to manipulate the data on the "Charts" worksheet from
    > the "Data" worksheet. I do not even need to bring the "Charts"
    > worksheet to the front.
    >
    > I have lost my senses and cannot alter the data on "Charts".
    >
    > Your thoughts are eagerly sought and appreciated!
    >
    > Craigm
    >
    > ----------------------
    > Sub Acc_Types()
    >
    > Dim wbBook As Workbook
    > Dim wsSheet As Worksheet
    >
    > Dim rDescription 'Description
    > Column
    >
    > Set wbBook = Workbooks("Charts_DataDown.xls")
    > Set wsSheet = wbBook.Sheets("Data")
    >
    > Worksheets("Charts").Activate 'Move to "Charts" worksheet
    >
    > 'We are manipulating the DATA
    > Sheet NOT CHARTS sheet!
    > For Each rDescription In Range("A8:A10")
    > If rDescription.Value <> "" Then
    > rDescription.Value = rDescription.Value & "9999;"
    > End If
    >
    >
    > Next rDescription
    >
    > End Sub
    > -----------------------------------
    >
    >
    > --
    > Craigm
    > ------------------------------------------------------------------------
    > Craigm's Profile:

    http://www.excelforum.com/member.php...o&userid=24381
    > View this thread: http://www.excelforum.com/showthread...hreadid=381733
    >




  5. #5
    Registered User
    Join Date
    06-16-2005
    Posts
    62

    Code in general module - good fix

    I simply copied the code into the general module for the workbook and it runs correctly.

    Outstanding, your comments were exacly on track.

    Thank You!

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1