Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten per VBA eintragen

Daten per VBA eintragen
16.06.2009 09:51:30
Andreas
Hallo zusammen,
Anbei mein folgendes Problem.
Ich habe 3 Suchbedingungen, die Ich kombienieren muss um die Bemerkung einfügen zu können.
Unsere Abteilungsleiter sollen zu den bei Ihnen entstandenen Problemen eine Maßnahme definieren.
Um das Recht einfach ohne lang zusuchen gestalten zu können, soll der Leiter den Monat wählen, seine Abteilung und dann die Nummer des Vorfalls (roter Zettel). Anschließend muss er im Feld Bemerkung die Maßnahme verfassen und auf Speichern klicken.
Swoeit so gut. Nun die Funktion welche hinter dem Speichern Knopf laufen soll.
Die Funktion soll Spalte A nach dem Monat durchsuchen, Spalte C nach der Abteilung und Spalte B nach der Nummer. Anschließend soll die Funktion die Werte aus dem Bemerkungsfeld in die Spalte D in Kombination mit der davor gefunden Zeile eintragen.
Anbei noch eine Musterdatei.
Ich hoff Ihr könnt mir helfen. Ich komme einfach nicht weiter.
https://www.herber.de/bbs/user/62458.xls
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten per VBA eintragen
16.06.2009 14:50:09
fcs
Hallo Andreas,
der Code für den Speichern-Button muss etwa wie folgt aussehen.
Gruß
Franz

Private Sub Speichern_Click()
Dim wksListe As Worksheet
Dim Zeile As Long, bolGefunden As Boolean
Set wksListe = Worksheets("Tabelle1")
With wksListe
For Zeile = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(Zeile, 1).Value = Me.ComboBox1.Value _
And .Cells(Zeile, 3).Value = Me.ComboBox2.Value _
And .Cells(Zeile, 2).Value = Val(Me.TextBox3.Value) Then
.Cells(Zeile, 4).Value = Me.TextBox2.Value
bolGefunden = True
Exit For
End If
Next
If bolGefunden = False Then
MsgBox "Für gewählten Monat, Montage und roter Zettel" _
& " wurde keine Zeile gefunden!"
End If
End With
End Sub
'oder wenn die Liste sehr lang ist mit der schnelleren Such-Methode
Private Sub Speichern_Click()
Dim wksListe As Worksheet, Zelle As Range, strAdresse1 As String
Dim bolGefunden As Boolean, varSuchen
Set wksListe = Worksheets("Tabelle1")
With wksListe
'Nr. Roter Zettel als Suchbegriff setzen
varSuchen = Val(Me.TextBox3.Value)
'Nummer in Spalte B suchen
Set Zelle = .Columns(2).Find(what:=varSuchen, LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then
bolGefunden = False
Else
strAdresse1 = Zelle.Address
Do
If .Cells(Zelle.Row, 1).Value = Me.ComboBox1.Value _
And .Cells(Zelle.Row, 3).Value = Me.ComboBox2.Value Then
.Cells(Zelle.Row, 4).Value = Me.TextBox2.Value
bolGefunden = True
Exit Do
End If
'Suche wiederholen
Set Zelle = .Columns(2).FindNext(After:=Zelle)
Loop Until Zelle.Address = strAdresse1
End If
If bolGefunden = False Then
MsgBox "Für gewählten Monat, Montage und roter Zettel" _
& " wurde keine Zeile gefunden!"
End If
End With
End Sub


Anzeige
AW: Daten per VBA eintragen
17.06.2009 07:51:57
Andreas
Hallo Franz,
Ich danke dir vielmals. Die Abfrage der Zeile habe ich auf verschiedene Weisen hinbekommen aber glaubst du ich wäre einmal auf das verwenden der Zeile gekommen. Endlich sind die gestressten Abende zu Ende.
Viele Dank
;

Forumthreads zu verwandten Themen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige