Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

schwierige VBA Aufgabe, Environ

schwierige VBA Aufgabe, Environ
10.12.2005 04:10:18
MathiasW
Hallo Excelfreunde,
ich habe mal wieder einkleines Problem das es zu lösen gilt.
Zur Zeit sieht’s bei mir so aus, ich habe eine Excel Datei, dort gibt es mehrere Tabellenblätter, zur Zeit 10 Stück.
Jedes TB, das in Betracht kommt, hat als Namen, den Vornahmen eines Benutzers.
Auf TB3 in Spalte A ab Reihe 30 stehen die UserID’s der einzelnen Anwender.
In Spalte B ab Reihe 30 stehen die Vornamen der Anwender.
In Spalte C ab Reihe 30 steht das Datum und die Zeit, wo der letzte Anwender die Datei geöffnet hat.
Bsp. A30=TAK2BM B30=Mathias C30=10.12.2005 7:30
A31=21CH68F B31=Thorsten C31= 8.12.2005 23:12
Tabelle2 heisst Mathias, Tabelle4 heisst Thortsen usw.
Die Aufgabe lautet:
1)Beim öffnen soll die UserID überprüft werden ich denke so:

Private Sub Workbook_Open()
Dim U
U = Environ("username")
End Sub

Als Ergebnis würde z.B. TAK2BM rauskommen.
Nun soll auf TB3 in Spalte A ab Zelle A30 geschaut werden, wo steht das Ergebnis?
Dann soll der Name aus der Zelle daneben genommen werden, hier also Mathias und das TB mit dem Namen Mathias selektiert werden, weiterhin soll in der nächsten Zelle hier C30 die aktuelle Zeit und das Datum geschrieben werden.
Zusatz: gibt es den Benutzer noch nicht soll in der nächsten freien Zelle (Spalte A) die User ID eingetragen werden, das Datum und die Uhrzeit wieder 2 daneben in Spalte C geschrieben und logischerweise keine Selektierung vorgenommen werden.
Vielleicht mit einem Errorhandler?
Danach soll eine Msgbox erscheinen mit z.B. „Hallo und dem Vornamen.
Als letztes müsste das Ganze ohne Bestätigung gespeichert werden.
Ich weiss es ist eine ganze Menge, aber alleine kriege ich das nicht hin.
Könnt Ihr mir da weiterhelfen? Währe ein tolles Weihnachtsgeschenk ;-)
Vielen Dank und Gruss aus Toulouse
Mathias

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: schwierige VBA Aufgabe, Environ
10.12.2005 10:38:34
Daniel
Hallo Mathias,
ich habe dir etwas gebastelt:

Private Sub Workbook_Open()
Dim UserID As String
Dim Spaltenlänge As Integer
Dim Firstadress As Range
UserID = Environ("username")
With Worksheets(3).Range("A30:A65000")
Set c = .Find(UserID, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Offset(0, 2).Value = Date & " " & Time
Application.Goto Reference:=Worksheets(c.Offset(0, 1).Value).Range("A1")
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
MsgBox "Hallo " & c.Offset(0, 1).Value
Else:
Spaltenlänge = Worksheets(3).Cells(Rows.Count, 1).End(xlUp).Row
Cells(Spaltenlänge + 1, 1).Value = UserID
Cells(Spaltenlänge + 1, 4).Value = Date & " " & Time
MsgBox "Neuer Teilnehmer wurde eingetragen"
End If
End With
End Sub

Ich hoffe ich habe dich richtig verstanden.
Gruss
Daniel
Anzeige
AW: schwierige VBA Aufgabe, Environ
12.12.2005 19:37:38
MathiasW
Hallo Daniel,
vielen Dank für deine Hilfe,
leider läufts noch nicht ganz, die Einträge sollten auf TB3(Feiertage) eingetragen werden.
Ist das noch hinzukriegen? und wenn ich z.B. 4 Leutchen anlege, gibts immer einen Laufzeitfehler 9.
Aber schonmal vielen Dank für deine Hilfe.
Ums etwas zu vereinfachen, habe ich die Datei mal hochgeladen.
https://www.herber.de/bbs/user/29164.xls
vielen Dank für deine Hilfe
Mathias
AW: schwierige VBA Aufgabe, Environ
13.12.2005 13:17:11
Daniel
Hallo Matthias,
folgender Code schreibt den neuen TeilnemerID in Tabelle3 Spalte A in die nächstfreie Zeile. Den Vorname und das Tabellenblatt muss aber auch noch generiert werden sonst gibt es beim nächsten öffnen Fehler..

Private Sub Workbook_Open()
Dim UserID As String
Dim Spaltenlaenge As Integer
Dim Firstadress As Range
UserID = Environ("username")
With Worksheets(3).Range("A30:A65000")
Set c = .Find(UserID, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Offset(0, 2).Value = Date & " " & Time
Application.GoTo Reference:=Worksheets(c.Offset(0, 1).Value).Range("A2")
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
MsgBox "Hallo " & c.Offset(0, 1).Value
Else:
Spaltenlaenge = Worksheets(3).Cells(Rows.Count, 1).End(xlUp).Row
Worksheets(3).Cells(Spaltenlaenge + 1, 1).Value = UserID
Worksheets(3).Cells(Spaltenlaenge + 1, 4).Value = Date & " " & Time
MsgBox "Neuer Teilnehmer wurde eingetragen"
End If
End With
'ActiveSheet.Shapes("TextBox22").Visible = False
DatumFormatFinden
End Sub

Die Textbox musste ich bei mir auskommentieren (da sie nicht existiert)
Gruss
Dani
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige