Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zelle finden Datum in freie Spalte eintragen
18.01.2016 20:09:32
Steffen
Hallo,
ich habe das erste mal einen VBA Code geschrieben/über Google zusammengeklaut.
Ich habe auch nicht wirklich ahnung von VBA. Ich bin absoluter beginner.
Folgendes möchte ich machen.
Es gibt eine datenbank mit 8 Spalten( lft.Nr.,Name,Vorname,AnmeldeID,E-Mail,Instutition, anmeldung Tag1 und Anmeldung Tag2.
Die Datenbank hat ca. 100 Zeilen.
Ich möchte nun über eine Eingabebox eine ID einscannen, welche dann in der Datenbank gesucht wir. Dies habe ich soweit auch hinbekommen.
Nun soll von der gefundenen Zelle (die wird aktuell ausgewählt) in der ersten leeren Spalte dieser Zeile das Datum inklusivve Uhrzeit in der Form TT.MM.JJJJ.hh.mm.ss eingetragen werden. Ausserdem soll diese Zelle grün eingefärbt werden. Anschließend soll eine Infobox erscheinen und den Text Herr Vornamme(Spalte 2) Nachname(Spalte3) der gesuchten Zeile, ist angemeldet. Wenn in der Infobox OK gedrückt wird soll die Eingabebox erneut erscheinen und der Vorgang von vorn beginnen.
Der Code den ich zusammen bekommen habe.
Ich habe versucht über diverse gefundene Cods dies in den unten eingefügten Code einzutragen hat aber alles nicht geklappt.
Da ich es lernen möchte würde ich mich freuen wenn Ihr mir das ergänzte/veränderte kommentieren würdet.
Jetzt schon vielen vielen Dank.
Sub Textsuchen()
Dim str_SuchString As String
Dim Counter1 As Integer
Dim Counter2 As Integer
Dim lngZeile As Long
Dim lngletzteSpalte As Long
str_SuchString = InputBox("Bitte Anmelde-ID scannen", "Suche...")
For Counter1 = 1 To ActiveSheet.Cells.SpecialCells(xlLastCell).Column
For Counter2 = 1 To ActiveSheet.Cells.SpecialCells(xlLastCell).Row
If Cells(Counter2, Counter1).Value = str_SuchString Then
Cells(Counter2, Counter1).Select
End If
Next
Next
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle finden Datum in freie Spalte eintragen
18.01.2016 20:16:20
Sepp
Hallo Steffen,
da wäre eine Beispieldatei sehr hilfreich.
Gruß Sepp

AW: Zelle finden Datum in freie Spalte eintragen
18.01.2016 20:26:42
Steffen
https://www.herber.de/bbs/user/102867.xlsm
ist eine Testdatei, da die richtige erst in den nächsten Tagen durch online anmeldungen erstellt wird.

AW: Zelle finden Datum in freie Spalte eintragen
18.01.2016 20:47:58
Sepp
Hallo Steffen,
Sub Textsuchen()
Dim varRet As Variant, varSearch As String

Do
  varSearch = Application.InputBox("Bitte Anmelde-ID scannen", "Suche...", Type:=1)
  If IsNumeric(varSearch) Then
    varRet = Application.Match(Clng(varSearch), Columns(2), 0)
    If IsNumeric(varRet) Then
      With Cells(varRet, Columns.Count).End(xlToLeft).Offset(0, 1)
        .Value = Now
        .NumberFormat = "dd.MM.yyyy.hh.mm.ss"
      End With
      MsgBox "Frau/Herr " & Cells(varRet, 4).Text & " " & Cells(varRet, 3).Text & _
        " ist angemeldet!", vbInformation
      varSearch = ""
    ElseIf varSearch <> CStr(False) Then
      MsgBox "Ungüldige ID!", vbExclamation
    End If
  End If
Loop While varSearch <> CStr(False)

End Sub

Gruß Sepp

Anzeige
AW: Zelle finden Datum in freie Spalte eintragen
18.01.2016 20:54:34
Steffen
Hallo Sepp,
das ist SUPER.
Darf ich dich noch um 2 änderungen bitten?
Wenn am Tag 1 schon ein Eintrag drin ist,sprich es hat sich am Tag 1 schon jemand mit dem ID angemeldet soll eine Fehlermeldung erscheinen. Das gleiche dann auch für den 2.Tag. Zusätzlich soll der Eintrag in Tag 1 und 2 farblich(grün) makiert werden.

AW: Zelle finden Datum in freie Spalte eintragen
18.01.2016 21:25:16
Sepp
Hallo Steffen,
Sub Textsuchen()
Dim varRet As Variant, varSearch As String

Do
  varSearch = Application.InputBox("Bitte Anmelde-ID scannen", "Suche...", Type:=1)
  If IsNumeric(varSearch) Then
    varRet = Application.Match(Clng(varSearch), Columns(2), 0)
    If IsNumeric(varRet) Then
      If IsNumeric(Evaluate("MATCH(TODAY(),INT(" & varRet & ":" & varRet & "),0)")) Then
        MsgBox "Frau/Herr " & Cells(varRet, 4).Text & " " & Cells(varRet, 3).Text & _
          " wurde heute schon angemeldet!", vbExclamation
      Else
        With Cells(varRet, Columns.Count).End(xlToLeft).Offset(0, 1)
          .Value = Now
          .NumberFormat = "dd.MM.yyyy.hh.mm.ss"
          .Interior.Color = vbGreen
        End With
        MsgBox "Frau/Herr " & Cells(varRet, 4).Text & " " & Cells(varRet, 3).Text & _
          " ist angemeldet!", vbInformation
        varSearch = ""
      End If
    ElseIf varSearch <> CStr(False) Then
      MsgBox "Ungüldige ID!", vbExclamation
    End If
  End If
Loop While varSearch <> CStr(False)

End Sub

Gruß Sepp

Anzeige
AW: Zelle finden Datum in freie Spalte eintragen
19.01.2016 20:12:09
Steffen
Hallo Sepp,
vielen Dank das ist echt super.
Gruß
Steffen

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige