+ Reply to Thread
Results 1 to 7 of 7

Thread: How to use named ranges in excel vba?

  1. #1
    Registered User
    Join Date
    06-04-2010
    Location
    Unfufu, Zebra Land
    MS-Off Ver
    Excel 2010
    Posts
    9

    How to use named ranges in excel vba?

    I have worksheet that I use for LEAN managment with risk management, etc. on the first sheet there is a user form that inputs data to the "database" sheet.
    Database sheets has several columns of data and if i want to insert a column at the A1 column then it messes all my comboboxes and textboxes that refer
    to the "database" sheet. The problem is I hardcoded all comboboxes and textboxes on the userform and now I have to add some more options on the user form that inputs data on the "database" sheet.

    I searched on the internet and found that I could use "named ranges" instead so that I can insert new columns without messing up my comboboxes and textboxes. I tried expermenting with named ranges without sucess so maybe one of you guys can point me in the right direction.




    Public Sub Save_Click()
    
    
    Dim NextRow As Long
    Dim ws As Worksheet
    Set ws = Worksheets("Databas")
    
    Dim rg As Range
    Set rg = Worksheets("Databas").Range("Risk")
    
    
    
    ' The statement simulates activating the last cell in column A, pressing End,
    ' pressing Up Arrow, and then moving down one row. If you do that manually,
    ' the cell pointer will be in the next empty cell in column A — even if the data
    ' area doesn’t begin in row 1 and contains blank rows.
    
    NextRow = ws.Cells(Rows.Count, 1) _
        .End(xlUp).Offset(1, 0).Row
        
    
    rg.NextRow.Value = Me.cboRisk.Value
    
    ' ws.Cells(NextRow, rg).Value = Me.cboRisk.Value
    
    ws.Cells(NextRow, 3).Value = Me.txtProblem.Value
    
    ws.Cells(NextRow, 6).Value = Me.cboStatus.Value
    
    
    
    End Sub
    Last edited by maverick1714; 01-25-2012 at 04:32 AM.

  2. #2
    Forum Guru
    Join Date
    10-28-2008
    Location
    Not here anymore
    MS-Off Ver
    irrelevant
    Posts
    10,151

    Re: How to use named ranges in excel vba?

    Your post does not comply with Rule 3 of our Forum RULES. Use code tags around code. Posting code without them makes your code hard to read and difficult to be copied for testing. Highlight your code and click the # at the top of your post window. For more information about these and other tags, found here

  3. #3
    Forum Guru, retired Admin royUK's Avatar
    Join Date
    11-18-2003
    Location
    Derbyshire,UK
    MS-Off Ver
    Xp; 2007; 2010
    Posts
    25,640

    Re: How to use named ranges in excel vba?

    I can't see where your code uses the named range

    To best describe or illustrate your problem you would be better off attaching a dummy workbook, the workbook should contain the same structure and some dummy data of the same type as the type you have in your real workbook - so, if a cell contains numbers & letters in this format abc-123 then that should be reflected in the dummy workbook. Don't upload a picture when you have a workbook question. None of us is inclined to recreate your data. Upload the workbook and manually add an 'after' situation so that we can see what you expect. In addition clearly explain how you get the results..
    To attach a file to your post, you need to be using the main 'New Post' or 'New Thread' page and not 'Quick Reply'.
    To use the main 'New Post' page, click the 'Post Reply' button in the relevant thread.

    On this page, below the message box, you will find a button labelled 'Manage Attachments'.
    Clicking this button will open a new window for uploading attachments.

    You can upload an attachment either from your computer or from another URL by using the appropriate box on this page.
    Alternatively you can click the Attachment Icon to open this page.

    To upload a file from your computer, click the 'Browse' button and locate the file.

    To upload a file from another URL, enter the full URL for the file in the second box on this page.
    Once you have completed one of the boxes, click 'Upload'.

    Once the upload is completed the file name will appear below the input boxes in this window.
    You can then close the window to return to the new post screen.
    Hope that helps.

    RoyUK
    --------
    If you are pleased with a member's answer then use the Star icon to rate it, if you are pleased enough to part with cash consider a donation to Children in Need

    For Excel Tips & Solutions, free examples and tutorials why not check out my downloads

    New members please read & follow the Forum Rules

    Remember to mark your questions Solved and rate the answer(s)

  4. #4
    Registered User
    Join Date
    06-04-2010
    Location
    Unfufu, Zebra Land
    MS-Off Ver
    Excel 2010
    Posts
    9

    Re: How to use named ranges in excel vba?

    Quote Originally Posted by maverick1714 View Post
    I have worksheet that I use for LEAN managment with risk management, etc. on the first sheet there is a user form that inputs data to the "database" sheet.
    Database sheets has several columns of data and if i want to insert a column at the A1 column then it messes all my comboboxes and textboxes that refer
    to the "database" sheet. The problem is I hardcoded all comboboxes and textboxes on the userform and now I have to add some more options on the user form that inputs data on the "database" sheet.

    I searched on the internet and found that I could use "named ranges" instead so that I can insert new columns without messing up my comboboxes and textboxes. I tried expermenting with named ranges without sucess so maybe one of you guys can point me in the right direction.




    Public Sub Save_Click()
    
    
    Dim NextRow As Long
    Dim ws As Worksheet
    Set ws = Worksheets("Databas")
    
    Dim rg As Range
    Set rg = Worksheets("Databas").Range("Risk")
    
    
    
    ' The statement simulates activating the last cell in column A, pressing End,
    ' pressing Up Arrow, and then moving down one row. If you do that manually,
    ' the cell pointer will be in the next empty cell in column A — even if the data
    ' area doesn’t begin in row 1 and contains blank rows.
    
    NextRow = ws.Cells(Rows.Count, 1) _
        .End(xlUp).Offset(1, 0).Row
        
    
    rg.NextRow.Value = Me.cboRisk.Value
    
    ' ws.Cells(NextRow, rg).Value = Me.cboRisk.Value
    
    ws.Cells(NextRow, 3).Value = Me.txtProblem.Value
    
    ws.Cells(NextRow, 6).Value = Me.cboStatus.Value
    
    
    
    End Sub
    Problem solved.

  5. #5
    Registered User
    Join Date
    06-04-2010
    Location
    Unfufu, Zebra Land
    MS-Off Ver
    Excel 2010
    Posts
    9

    Re: How to use named ranges in excel vba?

    Quote Originally Posted by maverick1714 View Post
    I have worksheet that I use for LEAN managment with risk management, etc. on the first sheet there is a user form that inputs data to the "database" sheet.
    Database sheets has several columns of data and if i want to insert a column at the A1 column then it messes all my comboboxes and textboxes that refer
    to the "database" sheet. The problem is I hardcoded all comboboxes and textboxes on the userform and now I have to add some more options on the user form that inputs data on the "database" sheet.

    I searched on the internet and found that I could use "named ranges" instead so that I can insert new columns without messing up my comboboxes and textboxes. I tried expermenting with named ranges without sucess so maybe one of you guys can point me in the right direction.




    Public Sub Save_Click()
    
    
    Dim NextRow As Long
    Dim ws As Worksheet
    Set ws = Worksheets("Databas")
    
    Dim rg As Range
    Set rg = Worksheets("Databas").Range("Risk")
    
    
    
    ' The statement simulates activating the last cell in column A, pressing End,
    ' pressing Up Arrow, and then moving down one row. If you do that manually,
    ' the cell pointer will be in the next empty cell in column A — even if the data
    ' area doesn’t begin in row 1 and contains blank rows.
    
    NextRow = ws.Cells(Rows.Count, 1) _
        .End(xlUp).Offset(1, 0).Row
        
    
    rg.NextRow.Value = Me.cboRisk.Value
    
    ' ws.Cells(NextRow, rg).Value = Me.cboRisk.Value
    
    ws.Cells(NextRow, 3).Value = Me.txtProblem.Value
    
    ws.Cells(NextRow, 6).Value = Me.cboStatus.Value
    
    
    
    End Sub
    Problem solved.

  6. #6
    Forum Guru
    Join Date
    10-28-2008
    Location
    Not here anymore
    MS-Off Ver
    irrelevant
    Posts
    10,151

    Re: How to use named ranges in excel vba?

    Thank you for sharing your solution.

    Or did you?

    This is a forum. People ask questions, other people answer them. If you ask a question and then find the answer yourself, it would be only polite to let us know how you solved the issue, so the people who worked on your issue don't feel like they've wasted their time.

    It's called community spirit.

    And please don't quote whole posts.

    cheers,

  7. #7
    Forum Guru, retired Admin royUK's Avatar
    Join Date
    11-18-2003
    Location
    Derbyshire,UK
    MS-Off Ver
    Xp; 2007; 2010
    Posts
    25,640

    Re: How to use named ranges in excel vba?

    I can't see where you use a Named Range anyway.
    Hope that helps.

    RoyUK
    --------
    If you are pleased with a member's answer then use the Star icon to rate it, if you are pleased enough to part with cash consider a donation to Children in Need

    For Excel Tips & Solutions, free examples and tutorials why not check out my downloads

    New members please read & follow the Forum Rules

    Remember to mark your questions Solved and rate the answer(s)

+ 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.2.0