ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Faster way to code this (https://www.excelbanter.com/excel-programming/366452-faster-way-code.html)

jhahes[_63_]

Faster way to code this
 

I was just wondering if there is possibly another way to do this. With
the code that i have it just seems to take forever...


I am using a form and when you put in a number in textboxNumber


the code goes to sheet1 and does the following

Sheet1.activate
Range("A2").select
Do
If csng(activecell) < csng(textboxNumber.value) then
activecell.offset(1,0).select
End if

Loop until csng(activecell) = csng(textboxNumber.value) or
activecell.row = 5000

activecell.offset(0,5).value = textboxOrderID
activecell.offset(0,6).value = textboxItemDescription


I would appreciate any ideas


--
jhahes
------------------------------------------------------------------------
jhahes's Profile: http://www.excelforum.com/member.php...o&userid=23596
View this thread: http://www.excelforum.com/showthread...hreadid=558940


colofnature[_70_]

Faster way to code this
 

You could use a find, eg:

[a2:a5000].find(what:=textboxNumber.value, lookat:=xlwhole).select

in place of the 'Do...Loop until'.

Col


--
colofnature
------------------------------------------------------------------------
colofnature's Profile: http://www.excelforum.com/member.php...o&userid=34356
View this thread: http://www.excelforum.com/showthread...hreadid=558940


Tom Ogilvy

Faster way to code this
 
Turn on the macro recorder. Select Column 1, Do edit=Find then type in the
number.

Turn off the macro recorder and look at the recorded code

Now modify this code to use the value in the textbox.

from
What:="1234"
to
What:=textboxNumber.value

you can also modify it to check for a found value

if application.Countif(Columns(1),textboxNumber.value ) 0 then
' modified recorded code
else
msgbox textboxNumber.Value & " is not in column 1"
end if



--
Regards,
Tom Ogilvy


"jhahes" wrote:


I was just wondering if there is possibly another way to do this. With
the code that i have it just seems to take forever...


I am using a form and when you put in a number in textboxNumber


the code goes to sheet1 and does the following

Sheet1.activate
Range("A2").select
Do
If csng(activecell) < csng(textboxNumber.value) then
activecell.offset(1,0).select
End if

Loop until csng(activecell) = csng(textboxNumber.value) or
activecell.row = 5000

activecell.offset(0,5).value = textboxOrderID
activecell.offset(0,6).value = textboxItemDescription


I would appreciate any ideas


--
jhahes
------------------------------------------------------------------------
jhahes's Profile: http://www.excelforum.com/member.php...o&userid=23596
View this thread: http://www.excelforum.com/showthread...hreadid=558940



jhahes[_64_]

Faster way to code this
 

thanks for the responses colofnature, and tom. I used the macro
recorder way and it works great.

Thanks


--
jhahes
------------------------------------------------------------------------
jhahes's Profile: http://www.excelforum.com/member.php...o&userid=23596
View this thread: http://www.excelforum.com/showthread...hreadid=558940



All times are GMT +1. The time now is 08:53 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com