[VBA] Informatie Filteren uit strings.

Pagina: 1
Acties:

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025
Hallo hallo,

Ik heb een lading gegevens met daarin een hele zooi bogus tekens die ik er maar al te graag uit wil hebben, kan iemand mij echter vertellen welke functie ik daarvoor kan gebruiken? Want het zoeken wil niet echt opschieten helaas

Hier een voorbeeld van die smurrie:

code:
1
 ³ ÀÄR146            V         ³ ÀÄ3.00                ja


Iemand een idee?

thanks..

En nu met topictitel :/

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

1. In welke Office applicatie wil je dit toepassen?
2. Heb je een overzicht van tekens die je wilt filteren?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025
Alle tekens die ik met mijn oog ben tegen gekomen staan ook hier, echter bijna nooit in dezelfde volgorde..

En de uitvoer gaat naar Excel, maar op zich zou dat niet echt uit moeten maken toch?

Ik gebruik nu input # en debug.print voor het voornaamste werk..

Correctie:

er zijn er meer :)

code:
1
2
3
4
5
Ã
Ä
À
³


Het kan zijn dat ik er meer tegen kom :/ maar ik zie ze zo snel niet.

[ Voor 25% gewijzigd door GX op 26-02-2004 14:31 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 23:30

NMe

Quia Ego Sic Dico.

Probeer met een regular expression alles wat niet alfanumeriek (of alle andere tekens die je wel accepteert) is, te vervangen met een spatie. Ik heb ff snel gekeken op google en zo te zien heeft VBA ook regular expression functionaliteit, ik heb alleen ervaring met VBS dus kan je geen concrete code geven.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025
NMe84 schreef op 26 februari 2004 @ 14:18:
Probeer met een regular expression alles wat niet alfanumeriek (of alle andere tekens die je wel accepteert) is, te vervangen met een spatie. Ik heb ff snel gekeken op google en zo te zien heeft VBA ook regular expression functionaliteit, ik heb alleen ervaring met VBS dus kan je geen concrete code geven.
Volgens mij kende VBA in de office xp nog geen regex's..
In ieder geval niet zoals perl of php ze kent :(

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

NMe84 schreef op 26 februari 2004 @ 14:18:
Probeer met een regular expression alles wat niet alfanumeriek (of alle andere tekens die je wel accepteert) is, te vervangen met een spatie. Ik heb ff snel gekeken op google en zo te zien heeft VBA ook regular expression functionaliteit, ik heb alleen ervaring met VBS dus kan je geen concrete code geven.
Je kan die add-ins kopen, maar er is standaard geen regular expression functionaliteit...

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 23:30

NMe

Quia Ego Sic Dico.

Zonde... dan kun je denk ik het beste een lange string maken met daarin alle karakters die je accepteert of juist niet accepteert, en daarna karakter voor karakter door de tekst lopen en door middel van string/karaktervergelijking kijken of het huidige karakter al dan niet in jouw criteriastring zit.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

TS :: blijkbaar zit er toch een bepaalde pattern matching systeem binnen vba.

Zoek eens op Wildcard Characters Used in String Comparisons in de VBA help.

[ Voor 6% gewijzigd door BtM909 op 26-02-2004 14:31 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025
Hoezee, daar hebbik wat aan :)

dit heb ik nu staan;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Sub resultaten()
    Dim readData, cnvReadData
    Dim splitArray, splitInfoArray(3)
    Dim i, j, k As Integer
    
    If arraySizes(0) <> "" And arraySizes(1) <> "" Then
        For i = 1 To arraySizes(0)
            Open fileFolder & "\vptotaal" & i & ".txt" For Input As #1
            Do While Not EOF(1)
                Input #1, readData
                If readData Like "*[A-Z]#*[A-Z]*#*" Then
                    cnvReadData = Replace(readData, "Ã", "")
                    cnvReadData = Replace(cnvReadData, "Ä", "")
                    cnvReadData = Replace(cnvReadData, "À", "")
                    cnvReadData = Replace(cnvReadData, "³", "")
                    cnvReadData = Trim(cnvReadData)
                    splitArray = Split(cnvReadData, Space(1))
                    k = "0"
                    For j = 0 To UBound(splitArray)
                        If splitArray(j) <> "" And splitArray(j) <> "" Then
                            splitInfoArray(k) = splitArray(j)
                            k = k + 1
                        End If
                    Next j
                    Debug.Print cnvReadData & " --> " & _
                        splitInfoArray(0) & " " & splitInfoArray(1) & _
                        " " & splitInfoArray(2)
                End If
            Loop
            Close #1
        Next i
    Else
        respMsgbox = MsgBox("Fout! Geen waardes gevonden", vbCritical, "Fout!")
    End If
End Sub


Ik ben het echter nog steeds niet helemaal eens met die replace dingen. Daar moet een betere manier voor zijn..

Oh, en misschien iets om lege waardes uit de array te knikkeren, maar daar heb ik nog niet naar gezocht.. Even direct doen..

[ Voor 25% gewijzigd door GX op 26-02-2004 14:35 ]

Pagina: 1