Re: Countif for a string
- From: "crazybass2" <crazybass2@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 20 Jun 2005 13:18:01 -0700
Thanks for both Bob and Harald for the quick response. You both basically
displayed the same solution. This will work great!
Mike
"Harald Staff" wrote:
> Hi Mike
>
> Sub test()
> MsgBox ShouldImport("-1234, 4321, 5.1232, 92.1")
> MsgBox ShouldImport("90310, 110.0, -1.0")
> MsgBox ShouldImport("90311, 105.1 -1.0")
> MsgBox ShouldImport("-90312, 125.4, 12")
> MsgBox ShouldImport("B2931, 94.1, 0.32")
> End Sub
>
> Function ShouldImport(ByRef S As String) As Boolean
> Dim L1 As Long, L2 As Long, L3 As Long
> If Val(S) <> 0 Then
> If Len(S) - Len(Replace$(S, ",", "")) = 2 Then ShouldImport = True
> End If
> End Function
>
> HTH. Best wishes Harald
>
> "crazybass2" <crazybass2@xxxxxxxxxxxxxxxxxxxxxxxxx> skrev i melding
> news:FCA32793-23C5-4ACA-9FAB-F6D15AD70595@xxxxxxxxxxxxxxxx
> > I am importing a text file into excel line by line. I only want to import
> > lines where the first non-space character is a number or negative sign AND
> > only those that have two commas in the string. I have the first part
> > working, I just need to know how to do the AND part (strings with only two
> > commas).
> >
> > This would be easy if I were looking at a string in a cell by using
> countif,
> > but this is a string from a text file. Is there any way of doing this
> > without importing the entire file and then using countif on the imported
> > cells?
> >
> > This is what I have so far:
> >
> > Sub Mikesub()
> > ...
> > Open Filename For Input As #FileNum
> > Counter = 1
> > keywords = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "-")
> > Do While Seek(FileNum) <= LOF(FileNum)
> > Line Input #FileNum, ResultStr
> > For i = LBound(keywords) To UBound(keywords)
> > fstword = LTrim(ResultStr)
> > If Left(fstword, 1) = keywords(i) Then
> > bfound = True
> > Exit For
> > End If
> > Next
> > If bfound Then
> > ActiveCell.Value = Trim(ResultStr)
> > ActiveCell.Offset(1, 0).Select
> > bfound = False
> > End If
> > Counter = Counter + 1
> > Loop
> > ...
> > End Sub
> >
> >
> > For example with the following data I would only like the second and
> fourth
> > lines imported.
> >
> > -1234, 4321, 5.1232, 92.1
> > 90310, 110.0, -1.0
> > 90311, 105.1 -1.0
> > -90312, 125.4, 12
> > B2931, 94.1, 0.32
> >
> >
> > Thanks in advance for your help.
> >
> > Mike
> >
>
>
>
.
- References:
- Countif for a string
- From: crazybass2
- Re: Countif for a string
- From: Harald Staff
- Countif for a string
- Prev by Date: Re: Sending Workbooks via Email
- Next by Date: Re: Sending Workbooks via Email
- Previous by thread: Re: Countif for a string
- Next by thread: problem with text from macro?
- Index(es):
Relevant Pages
|