ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Excel VBA - Searching long words (https://www.excelbanter.com/excel-programming/290501-excel-vba-searching-long-words.html)

ozcank[_8_]

Excel VBA - Searching long words
 
Hi all,

Just a quick query. I have a macro, which searches through column B o
a spreadhseet and creates new sheets according to the content of th
cell. However, it doesn't accept any cell, which contains more than 3
characters. What should I use in my declaration so that it accepts lon
words?

Cheer

--
Message posted from http://www.ExcelForum.com


Juan Pablo González

Excel VBA - Searching long words
 
Well, I'm guessing, but 31 characters is the maximum length of the sheet
name, so that may be the thing blocking you.

--
Regards,

Juan Pablo González

"ozcank " wrote in message
...
Hi all,

Just a quick query. I have a macro, which searches through column B of
a spreadhseet and creates new sheets according to the content of the
cell. However, it doesn't accept any cell, which contains more than 31
characters. What should I use in my declaration so that it accepts long
words?

Cheers


---
Message posted from http://www.ExcelForum.com/




ozcank[_10_]

Excel VBA - Searching long words
 
Good thinking, I neglected that small factor. I have the following code
which selects the name of the cell:

Private Sub getNames()
Dim intRow As Integer, wsMain As Worksheet
Dim strReadName As String

Set wsMain = ActiveWorkbook.Worksheets("ufioverdue")
intIdx = 0
intRow = 2
With wsMain
Do
strReadName = .Cells(intRow, 2)
strNames(intIdx) = strReadName

Do
intRow = intRow + 1
Loop Until strReadName < .Cells(intRow, 2)

intIdx = intIdx + 1

Loop While .Cells(intRow, 2) < ""
End With
intIdx = intIdx - 1

End Sub

What would I have to alter so that it would only select the first 3
characters of a cell? ny ideas?

Cheer

--
Message posted from http://www.ExcelForum.com


Juan Pablo González

Excel VBA - Searching long words
 
Try changing

..Cells(intRow, 2)

with

Left$(.Cells(intRow, 2).Value, 31)

--
Regards,

Juan Pablo González

"ozcank " wrote in message
...
Good thinking, I neglected that small factor. I have the following code,
which selects the name of the cell:

Private Sub getNames()
Dim intRow As Integer, wsMain As Worksheet
Dim strReadName As String

Set wsMain = ActiveWorkbook.Worksheets("ufioverdue")
intIdx = 0
intRow = 2
With wsMain
Do
strReadName = .Cells(intRow, 2)
strNames(intIdx) = strReadName

Do
intRow = intRow + 1
Loop Until strReadName < .Cells(intRow, 2)

intIdx = intIdx + 1

Loop While .Cells(intRow, 2) < ""
End With
intIdx = intIdx - 1

End Sub

What would I have to alter so that it would only select the first 31
characters of a cell? ny ideas?

Cheers


---
Message posted from http://www.ExcelForum.com/




Tom Ogilvy

Excel VBA - Searching long words
 
sStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz"
sStr1 = Left(sStr,31)
? sStr
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx yz
? sStr1
ABCDEFGHIJKLMNOPQRSTUVWXYZabcde


--
Regards,
Tom Ogilvy

"ozcank " wrote in message
...
Good thinking, I neglected that small factor. I have the following code,
which selects the name of the cell:

Private Sub getNames()
Dim intRow As Integer, wsMain As Worksheet
Dim strReadName As String

Set wsMain = ActiveWorkbook.Worksheets("ufioverdue")
intIdx = 0
intRow = 2
With wsMain
Do
strReadName = .Cells(intRow, 2)
strNames(intIdx) = strReadName

Do
intRow = intRow + 1
Loop Until strReadName < .Cells(intRow, 2)

intIdx = intIdx + 1

Loop While .Cells(intRow, 2) < ""
End With
intIdx = intIdx - 1

End Sub

What would I have to alter so that it would only select the first 31
characters of a cell? ny ideas?

Cheers


---
Message posted from http://www.ExcelForum.com/





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

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