Collapse column

Autor Thema: Array im InStr verarbeitbar?  (Gelesen 862 mal)

Offline w3lcome

  • Newbie
  • *
  • Beiträge: 2
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Array im InStr verarbeitbar?
« am: August 23, 2016, 06:41:37 Vormittag »
Hallo zusammen,

ich versuche aktuell mit einem Instr verschiedene Zeichenkombinationen in einer Zelle festzustellen. Leider scheiter ich bei einem Typenkonflikt. Trotz recherchieren, bin ich bisher auf keine Lösung gekommen. Das zusammengefasste Codebeispiel:

Dim TableRow_OverviewFalseAndRight As Integer
Dim ArrayFormatError() As String ' Betroffenes Array
Dim FormatErrorWord As String
Dim FormatCorrectWord As String
Dim ErrorMarker As Boolean

TableRow_OverviewFalseAndRight = 2
'...
ErrorMarker = False

'...

TextFormatError = Cells(RawDataRowInt, 1)
   
    If InStr(1, ArrayFormatError, TextFormatError) > 0 Then
       
        Sheets("DataFormatResults").Select
       
        FormatErrorWord = Cells(TableRow_OverviewFalseAndRight, 1) 'z.B. "Ger'_chte"
        FormatCorrectWord = Cells(TableRow_OverviewFalseAndRight, 2) 'z.B. "Gerüchte"
       
        Do Until InStr(1, TextFormatError, FormatErrorWord) = 0 Or Cells(TableRow_OverviewFalseAndRight, 1) = "" 'Irgendwann sind keine Wörter mehr in der Liste enthalten
       
            TableRow_OverviewFalseAndRight = TableRow_OverviewFalseAndRight + 1
            FormatErrorWord = Cells(TableRow_OverviewFalseAndRight, 1)
       
        Loop
       
        If InStr(1, TextFormatError, FormatErrorWord) > 0 Then
           
            FormatCorrectWord = Cells(TableRow_OverviewFalseAndRight, 2)
           
            Sheets("Rawdata").Select
           
            Cells.Replace What:=FormatErrorWord, Replacement:=FormatCorrectWord, LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False
       
        End If

'...


Wenn das Array als Variant deklariert wird, besteht auch der Typenkonflikt. Ich würde mich über Tipps eurerseits freuen.

Vielen Dank!

Viele Grüße
w3lcome

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw: Array im InStr verarbeitbar?
« Antwort #1 am: August 23, 2016, 08:49:47 Vormittag »
Hallo,

Du kannst nicht InStr auf ein gesamtes Array anwenden. Dafür müsstest Du die Array-Elemente in einer Schleife
durchlaufen und jedes Element prüfen, in etwa so...

Code: Visual Basic
  1. For n = LBound(myArray,1) To UBound(myArray,1)
  2.   If InStr(1, myArray(n), "Test") > 0 Then
  3.   :
  4.   End If
  5. Next

Wenn es Dir nur darum geht, zu prüfen, ob ein Text irgendwo im Array (also irgendeinem Elemen) auftaucht,
könntest Du auch Join verwenden. Join macht einen großen String aus dem Array.

Code: Visual Basic
  1. InStr(1, Join(myArray, "-"), "Test")

Gruß
« Letzte Änderung: August 23, 2016, 08:53:49 Vormittag von maninweb »
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Offline w3lcome

  • Newbie
  • *
  • Beiträge: 2
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Antw: Array im InStr verarbeitbar?
« Antwort #2 am: August 28, 2016, 22:22:11 Nachmittag »
Hallo maninweb,

ich konnte es heute erst prüfen. Juhu es geht!

Vielen Dank!

Viele Grüße

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.