Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
Don Don is offline
external usenet poster
 
Posts: 487
Default "Another ScrollBar Question"

Am very appreciative to Incidental for responding to my first post on this
and I've got his code working very well in my UserForm. However the UF opens
with the scroll bar set at the min value of the range established when the
Form is opened. Is there a way to have the scrollbar focus on the next empty
cell in Col A? Here is the code being used to initiate the Form:

Private Sub ScrollBar1_Change()
SetRow = ScrollBar1.Value 'Pass scrollbar value to a variable
Range("A" & SetRow).Activate 'Select a row using that variable
For i = 1 To 10 'Second number is the total No of textboxes
Set Ctrl = UF3.Controls("TextBox" & i) 'Select a textbox
Ctrl.Value = ActiveCell.Value 'Show cell value in textbox
ActiveCell.Offset(0, 1).Activate 'Offset cell for the next pass
Next 'Iterate textbox
Range("A" & SetRow).Activate 'Reselect the first column for when you Save
End Sub

Private Sub UserForm_Initialize()
LstCell = [A65535].End(xlUp).Row 'Find last used cell in column A
ScrollBar1.Min = 4 'Set Min and Max value to scroll bar
ScrollBar1.Max = LstCell + 1
End Sub


One more question, the last I hope....I've used to code below to
re-establish the max value for the scroll bar....is this the best way of
doing this? I'm pretty sure it's not but it does work.

Private Sub CmdBtn1_Click()
Range("A" & SetRow).Value = TextBox1.Value
Range("B" & SetRow).Value = TextBox2.Value
Range("C" & SetRow).Value = TextBox3.Value
Range("D" & SetRow).Value = TextBox4.Value
Range("E" & SetRow).Value = TextBox5.Value
Range("F" & SetRow).Value = TextBox6.Value
Range("G" & SetRow).Value = TextBox7.Value
Range("H" & SetRow).Value = TextBox8.Value
Range("I" & SetRow).Value = TextBox9.Value
Range("J" & SetRow).Value = TextBox10.Value
Unload UF3
UF3.Show
End Sub

Sorry for reposting this but I think it got burried because I thanked
Incidental and clicked on the question was answered.

TIA for all the help this forum has been,

Don
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 226
Default "Another ScrollBar Question"

Hi Don

Glad the scroll bar code is working out for you. I have added the
requested line of code to set the activecell to the next blank cell in
column A, to do this all you need to do is set the value of the
scrollbar to whatever value you require, also I have looked at the
second question and have added some code to cover that which is the
same idea as putting the values in the textboxes just amended a little
to put the values in the cells, then I recall the userform initialise
event which will recalculate the range and select the next blank cell.

Option Explicit
Dim i As Integer
Dim LstCell As Integer
Dim SetRow As Integer
Dim Ctrl As MSForms.Control

Private Sub CmdBtn1_Click()

If TextBox1.Value = "" Then 'Check the user entered something

MsgBox "Enter A Name to Proceed" 'If not prompt them to do so

Exit Sub 'Stop the sub

End If

For i = 1 To 10 'Second number is the total No of textboxes

Set Ctrl = UF3.Controls("TextBox" & i) 'Select a textbox

ActiveCell.Value = Ctrl.Value 'Pass textbox value to
activecell

ActiveCell.Offset(0, 1).Select 'Iterate cell 1 to the right

Next 'Iterate textbox

UserForm_Initialize

End Sub

Private Sub ScrollBar1_Change()

SetRow = ScrollBar1.Value 'Pass scrollbar value to a variable

Range("A" & SetRow).Activate 'Select a row using that variable

For i = 1 To 10 'Second number is the total No of textboxes

Set Ctrl = UF3.Controls("TextBox" & i) 'Select a textbox

Ctrl.Value = ActiveCell.Value 'Show cell value in textbox

ActiveCell.Offset(0, 1).Activate 'Offset cell for the next
pass

Next 'Iterate textbox

Range("A" & SetRow).Activate 'Reselect the first column for when
you Save

End Sub

Private Sub UserForm_Initialize()

LstCell = [A65535].End(xlUp).Offset(1, 0).Row 'Find last used cell in
column A + 1

ScrollBar1.Min = 4 'Set Min and Max value to scroll bar

ScrollBar1.Max = LstCell

ScrollBar1.Value = LstCell 'Set scrollbar to the next empty cell

TextBox1.SetFocus 'Set the focus back to the first textbox

End Sub


I hope this clears things up for you

Steve



  #3   Report Post  
Posted to microsoft.public.excel.programming
Don Don is offline
external usenet poster
 
Posts: 487
Default "Another ScrollBar Question"

Thank you very much Steve.....just got off work so haven't had a chance to
try it, but based on what you provided me before, I'm sure it'll do the
trick. I'll be playing with it tonight. Thanks again,

Don

"Incidental" wrote:

Hi Don

Glad the scroll bar code is working out for you. I have added the
requested line of code to set the activecell to the next blank cell in
column A, to do this all you need to do is set the value of the
scrollbar to whatever value you require, also I have looked at the
second question and have added some code to cover that which is the
same idea as putting the values in the textboxes just amended a little
to put the values in the cells, then I recall the userform initialise
event which will recalculate the range and select the next blank cell.

Option Explicit
Dim i As Integer
Dim LstCell As Integer
Dim SetRow As Integer
Dim Ctrl As MSForms.Control

Private Sub CmdBtn1_Click()

If TextBox1.Value = "" Then 'Check the user entered something

MsgBox "Enter A Name to Proceed" 'If not prompt them to do so

Exit Sub 'Stop the sub

End If

For i = 1 To 10 'Second number is the total No of textboxes

Set Ctrl = UF3.Controls("TextBox" & i) 'Select a textbox

ActiveCell.Value = Ctrl.Value 'Pass textbox value to
activecell

ActiveCell.Offset(0, 1).Select 'Iterate cell 1 to the right

Next 'Iterate textbox

UserForm_Initialize

End Sub

Private Sub ScrollBar1_Change()

SetRow = ScrollBar1.Value 'Pass scrollbar value to a variable

Range("A" & SetRow).Activate 'Select a row using that variable

For i = 1 To 10 'Second number is the total No of textboxes

Set Ctrl = UF3.Controls("TextBox" & i) 'Select a textbox

Ctrl.Value = ActiveCell.Value 'Show cell value in textbox

ActiveCell.Offset(0, 1).Activate 'Offset cell for the next
pass

Next 'Iterate textbox

Range("A" & SetRow).Activate 'Reselect the first column for when
you Save

End Sub

Private Sub UserForm_Initialize()

LstCell = [A65535].End(xlUp).Offset(1, 0).Row 'Find last used cell in
column A + 1

ScrollBar1.Min = 4 'Set Min and Max value to scroll bar

ScrollBar1.Max = LstCell

ScrollBar1.Value = LstCell 'Set scrollbar to the next empty cell

TextBox1.SetFocus 'Set the focus back to the first textbox

End Sub


I hope this clears things up for you

Steve




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Excel - Golf - how to display "-2" as "2 Under" or "4"as "+4" or "4 Over" in a calculation cell Steve Kay Excel Discussion (Misc queries) 2 August 8th 08 01:54 AM
"Scrolling with Scrollbar or SpinButton on UserForm" Don Excel Programming 3 July 9th 07 07:50 PM
"Disk is Full" add-on question to "Can't reset last cell" post tod [email protected] Excel Discussion (Misc queries) 0 January 22nd 07 02:32 AM
Validation question - allow -500%, 0%, "=50%*50%" but forbid "A", "", " ", "-" ? tskogstrom Excel Programming 2 November 27th 06 09:50 AM
Getting a spinbutton / scrollbar to "repeat" Fred Holmes Excel Programming 0 December 23rd 04 08:30 PM


All times are GMT +1. The time now is 10:17 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"