VBA in Exel Tabellenfunktion programmieren

Wind1945

Ensign
Registriert
Dez. 2008
Beiträge
154
HI leutz

Ich habe folgendes Problem ich bin Quereinsteiger in VBA. Ich habe zwar schon so manches kleine Programm in C++ geschrieben, aber lang ist es her.

Ich habe nun folgendes Problem

Ich habe in exel zwei Spalten. In der 1. Spalten stehen Namen von Werkzeugen (Kugelfräser, etc...) und in der 2. Spalten die jeweilige Anzahl der Fräser. Das sehe dann so aus

Fräser A 10
Fräser B 15
Fräser C 8

Nun habe ich in der Exeltabelle im Worksheet/Tabelle 1 einen Commandbutton hinzugefügt. Über diesen Button wird ein Userform aufgerufen.

In der Userform sind zwei textboxen. In der 1. Textbox soll der Name eines Fräsers eingegeben werden und dann schließlich in der Tabelle, in der Spalte 1, gesucht werden.
(das hat schon so weit mal geklappt)
Aber in der 2 textbox soll die Anzahl eingegeben werden, von dem Fräser die entnommen wurden.(subtraktion von der Anzahl)
Man kann sich das so vorstellen wie eine Schublade wo man zB den Fräser A 2mal heraus nimmt. Das heisst dann in Textbox1=FräserA und in Textbox2=2.
Diese zwei Funktion sollen in der Userfrom funktionieren tun sie aber nicht so wirklich.

Das schwierige Problem ist eigentlich den Fräser zu finden und dann in die 2 Spalte zu wechseln und dann die SUbtraktion. Ich kenne If Else schleifen und do loop aber ich kann die nicht wirklich anwenden

Ich poste mal meinen Code :

Option Explicit

Private Sub CommandButton1_Click()
Dim Zelle As Range
Dim rng As Range

'Spalte A nach wert durchsuchen
Set rng = Sheets("Tabelle1").Columns(2).Find(What:=TextBox1.Text, Lookat:=xlWhole, LookIn:=xlValues)
'Wenn wert entdeckt
If Not rng Is Nothing Then
MsgBox "Duplikat entdeckt"
Exit Sub
Else
MsgBox "Kein Werkzeug Gefunden"
Unload Me
End If

If Not rng Is Nothing Then

TextBox1.Text = Zelle.Address
End If
Do
Select Case Zelle.Offset(0, 3).Value - TextBox2.Text
End Select
Loop While Not Zelle Is Nothing
End Sub


Ich hoffe ihr könnt mir helfen

Gruß
 

Ähnliche Themen

Antworten
18
Aufrufe
5.813
Zurück
Oben