Nach Wort (z.B "Datum" oder "Uhrzeit") in Zelle suchen!

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Novazizo|Sabrina.

    Nach Wort (z.B "Datum" oder "Uhrzeit") in Zelle suchen!

    Hallo Community,

    ich habe viele Spaltenüberschriften die ein Makro generiert.

    Ich möchte gerne wissen ob man einen Zelleninhalt auslesen und prüfen kann ob ein bestimmtes Wort vorhanden ist.

    In der Zelle kann aber das Wort an einer unbestimmten Stelle anfangen... also es ist nicht nur ein Wort in der Zelle!

    Wäre über gute Lösungsansätze dankbar!

    Mit freundlichen Grüßen

    Die No!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Novazizo|Sabrina“ ()

    Hallo petaod,

    Vielen Dank für deine Antwort,

    ich habe gesucht und das hier gefunden!

    Ich verstehe es so das die funktion einen Integerwert zurückgibt...

    Soll ich also nun prüfen ob beispielsweise "Datum" vorkommt und der InStr-Wert > 0 ist soll etwas passieren?

    Wäre das eine logische herangehensweise oder gibt es noch andere (bessere) möglichkeiten?

    Mit freundlichen Grüßen

    Soll ich also nun prüfen ob beispielsweise "Datum" vorkommt und der InStr-Wert > 0 ist soll etwas passieren?
    Ja.

    Quellcode

    1. If Instr("InDerZeile", "Datum") then
    2. mach was
    3. End If



    Wäre das eine logische herangehensweise oder gibt es noch andere (bessere) möglichkeiten?

    Ja. Es gibt noch andere aber wahrscheinlich keine schnelleren Möglichkeiten
    Hallo...

    ich habe es jetzt so gemacht...

    Spoiler anzeigen

    Visual Basic-Quellcode

    1. ' Datum übersetzen
    2. Private Sub CommandButton5_Click()
    3. ' ist der Wert für den Spaltendurchlauf
    4. Dim Spaltenzähler As Integer
    5. ' ist der Wert zum Ermitteln ob Wort vorhanden
    6. Dim Wert As Integer
    7. ' ist das Datumsformat
    8. Dim MyDate As Date
    9. ' ist der Wert zum Durchlauf von Zeilen
    10. Dim Zeile As Integer
    11. ' ist das Zeitformat
    12. Dim MyTime as Date
    13. ' Wertzuweisung
    14. Spaltenzähler = 1
    15. Zeile = 2
    16. ' Durchlauf Arbeitsblätter vom Zweiten bis Vorletzten
    17. For Sheetzähler = 2 To Sheets.Count - 1
    18. ' durchlauf solange Arbeitsblatt bis letzte gefüllte Spalte erreicht ist
    19. Do While Not Sheets(Sheetzähler).Cells(1, Spaltenzähler).Text = ""
    20. ' ermittel ob Wort "Datum" vorhanden ist
    21. Wert = InStr(1, Sheets(Sheetzähler).Cells(1, Spaltenzähler).Text, "Datum")
    22. ' Wenn Wort "Datum" vorhanden...
    23. If Wert > 0 Then
    24. ' ... dann durchlaufe alle Zeilen in bestimmter Spalte bis letzte gefüllte Zeile
    25. Do While Not Sheets(Sheetzähler).Cells(Zeile, Spaltenzähler).Text = ""
    26. ' Datumsformat wird mit Wert aus Zeile gefüllt und übersetzt
    27. MyDate = Format(Sheets(Sheetzähler).Cells(Zeile, Spaltenzähler).Text, "0000-00-00")
    28. ' Wert in Zeile wird mit Datumswert überschrieben
    29. Sheets(Sheetzähler).Cells(Zeile, Spaltenzähler) = MyDate
    30. ' Zeilenwert wird um eins erhöht
    31. Zeile = Zeile + 1
    32. ' Springe zu Schelifenanfang
    33. Loop
    34. ' erhöhe Sapltenwert um eins
    35. Spaltenzähler = Spaltenzähler + 1
    36. ' wenn nicht...
    37. Else
    38. ' erhöhe Spaltenwert um eins
    39. Spaltenzähler = Spaltenzähler + 1
    40. ' Ende Abfrage
    41. End If
    42. ' Wertzuweisung
    43. Zeile = 2
    44. ' Springe zu Schleifenanfang
    45. Loop
    46. ' Wertzuweisung
    47. Spaltenzähler = 1
    48. ' Erhöhe Sheetwert um eins
    49. Next Sheetzähler
    50. 'Zeit übersetzen___________________________________________________________________________________________________________
    51. ' Durchlauf Arbeitsblätter vom Zweiten bis Vorletzten
    52. For Sheetzähler = 2 To Sheets.Count - 1
    53. ' durchlauf solange Arbeitsblatt bis letzte gefüllte Spalte erreicht ist
    54. Do While Not Sheets(Sheetzähler).Cells(1, Spaltenzähler).Text = ""
    55. ' ermittel ob Wort "Uhrzeit" vorhanden ist
    56. Wert = InStr(1, Sheets(Sheetzähler).Cells(1, Spaltenzähler).Text, "Uhrzeit")
    57. ' Wenn Wort "Uhrzeit" vorhanden...
    58. If Wert > 0 Then
    59. Sheets(Sheetzähler).Select
    60. ' ... dann durchlaufe alle Zeilen in bestimmter Spalte bis letzte gefüllte Zeile
    61. Do While Not Sheets(Sheetzähler).Cells(Zeile, Spaltenzähler).Text = ""
    62. ' Zeitformat wird mit Wert aus Zeile gefüllt und übersetzt
    63. MyTime = Format(Sheets(Sheetzähler).Cells(Zeile, Spaltenzähler).Text, "00:00:00")
    64. ' Wert in Zeile wird mit Zeitwert überschrieben
    65. Sheets(Sheetzähler).Cells(Zeile, Spaltenzähler) = MyTime
    66. ' Zeitwert wird in "deutsches" Format übersetzt
    67. Sheets(Sheetzähler).Cells(Zeile, Spaltenzähler).NumberFormat = "hh:mm:ss;@"
    68. ' Zeilenwert wird um eins erhöht
    69. Zeile = Zeile + 1
    70. ' Springe zu Schleifenanfang
    71. Loop
    72. ' erhöhe Sapltenwert um eins
    73. Spaltenzähler = Spaltenzähler + 1
    74. ' wenn nicht...
    75. Else
    76. ' erhöhe Spaltenwert um eins
    77. Spaltenzähler = Spaltenzähler + 1
    78. ' Ende Abfrage
    79. End If
    80. ' Wertzuweisung
    81. Zeile = 2
    82. ' Springe zu Schleifenanfang
    83. Loop
    84. ' Wertzuweisung
    85. Spaltenzähler = 1
    86. ' Erhöhe Sheetwert um eins
    87. Next Sheetzähler
    88. ' End Anweisung
    89. End Sub


    falls jemand Verbesserungsvorschläge habt nehme ich die gerne an...

    Vielen Dank für die Hilfe!!!

    MfG
    Die No!