Thema Datum  Von Nutzer Rating
Antwort
28.10.2009 09:15:55 Samuel
NotSolved
29.10.2009 14:03:50 Holger
NotSolved
Rot Aw:Aw:Kurzzeichen
29.10.2009 16:21:43 Samuel
NotSolved

Ansicht des Beitrags:
Von:
Samuel
Datum:
29.10.2009 16:21:43
Views:
822
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Kurzzeichen
Hallo Holger

Vielen Dank für deine Hilfestellung
Ich habe ein altes Buch über VBA-Programmierung gefunden und das Problem gelöst:

Private Sub cmderfassen_Click()

'Definitionen
Dim i As Long 'als Zahl definiert
Dim a As Long
Dim b As Long
Dim c As Long



If t_kurzzeichen.Text = "" Then 'falls keine Eingabe unterbrechen
Exit Sub
End If



i = 0
For i = 1 To 1001
If UCase(Sheets("Daten").Cells(i, 1).Value) = UCase(t_kurzzeichen.Text) Then 'Prüfung ob Kurzzeichen vorhanden
MsgBox ("Dieses Kurzzeichen besteht bereits für " & Sheets("daten").Cells(i, 2).Value & " " & Sheets("Daten").Cells(i, 3).Value)
Exit Sub
Else
End If
Next i

a = 0
For a = 1 To 1001
If Sheets("Daten").Cells(a, 1).Value = "" Then
Sheets("Daten").Cells(a, 1).Value = UCase(t_kurzzeichen.Text) 'Schleife für Kurzzeichen
Exit For
Else
End If
Next a

b = 0
For b = 1 To 1001
If Sheets("Daten").Cells(b, 2).Value = "" Then
Sheets("Daten").Cells(b, 2).Value = t_name.Text 'Schleife für Name
Exit For
Else
End If
Next b

c = 0
For c = 1 To 1001
If Sheets("Daten").Cells(c, 3).Value = "" Then
Sheets("Daten").Cells(c, 3).Value = t_vorname.Text 'Schleife für Vorname
Exit For
Else
End If
Next c

MsgBox ("Der Benutzer wurde gespeichert!" & vbLf & vbLf & Sheets("Daten").Cells(a, 1).Value & vbLf & Sheets("Daten").Cells(b, 2).Value & " " & Sheets("Daten").Cells(c, 3).Value)
t_kurzzeichen.Value = ""
t_name.Value = ""
t_vorname.Value = ""


End Sub

Private Sub cmdpruefen_Click()
Dim q As Long
Dim p As Long

If t_kurzzeichen.Text = "" Then 'falls keine Eingabe unterbrechen
Exit Sub
End If

q = 0
For q = 1 To 1001
If UCase(Sheets("Daten").Cells(q, 1).Value) = UCase(t_kurzzeichen.Text) Then 'Prüfung ob Kurzzeichen vorhanden
MsgBox ("Dieses Kurzzeichen besteht bereits für " & Sheets("daten").Cells(q, 2).Value & " " & Sheets("Daten").Cells(q, 3).Value)
Else
End If
Next q

p = 0
For p = 1 To 1001
If UCase(Sheets("Daten").Cells(p, 1).Value) <> UCase(t_kurzzeichen.Text) Then
Else
Exit Sub
End If
Next p

MsgBox ("Das Kurzzeichen " & UCase(t_kurzzeichen.Value) & " ist verfügbar!")

End Sub


lg

Samuel

Holger schrieb am 29.10.2009 14:03:50:

Hallo Samuel,
ich vermute, du brauchst so etwas Ähliches für den commandButton deiner UserForm

a = Worksheets("Tabelle 2").Cells(Rows.Count, 1).End(xlUp).Row
for i = 1 to a
If ucase(Worksheets("Tabelle2").cells(i, 1)) = ucase(Textbox1) Then
Msgbox "Kürzel gibt es schon! Ändern!"
Exit sub
end if
next i
Worksheets("Tabelle 2").Cells(a + 1, 1) = Textbox1
Worksheets("Tabelle 2").Cells(a + 1, 2) = Textbox2
Worksheets("Tabelle 2").Cells(a + 1, 3) = Textbox3

Ungetestet!
Gruß
Holger

Samuel schrieb am 28.10.2009 09:15:55:

Hallo zusammen

Ich habe vor für meine Unternehmung eine Exceldatei mit VBA zu programmieren.
Einige Vorkenntnisse habe ich.

Es geht dabei um Kurzzeichen
Jeder Mitarbeiter hat ein Kurzzeichen
zum Beispiel ich habe BS
also Baumgartner Samuel.
es ist aber nicht immer so dass es Nachname Vorname ist.

Die Schwierigkeit dabei ist, dass es nicht 2 identische Kurzzeichen geben darf.
Ich habe also zwei Tabellen. in der einen starte ich die UserForm mit 3 Textboxen für Kurzzeichen, Name und Vorname und einer cmd für Ausführen. In der zweiten Tabelle gibt es drei Spalten für Kurzzeichen, Name und Vorname. Die wichtigste Spalte dabei ist natürlich Spalte A wo die Kurzzeichen stehen.

VBA soll also erst überprüfen ob das Kurzzeichen bereits besteht. Wenn ja soll es eine Meldung geben, man solle ein anderes verwenden. Wenn nicht sollen die Daten in die nächste leere Zeile von Tabelle 2 geschrieben werden.

Bitte helft mir!

Gruss

Sämi



Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
28.10.2009 09:15:55 Samuel
NotSolved
29.10.2009 14:03:50 Holger
NotSolved
Rot Aw:Aw:Kurzzeichen
29.10.2009 16:21:43 Samuel
NotSolved