Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1312to1316
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
Inhaltsverzeichnis

Hilfe bei Find-Funktion VBA

Hilfe bei Find-Funktion VBA
16.05.2013 22:34:18
b3000
Hallo,
leider komme mit meiner Find Funktion nicht weiter.
Ich habe eine kleine "Erfassung" zusammengebaut, in der ich eine Tabelle mit dem Lagerbestand habe. Diesen Bestand kann ich über eine Userform Ein bzw. Ausbuchen.
Jetzt möchte ich das ganze aber so erweitern, das direkt in der Eingabemaske, wo die Artikelanzahl eingetippt wird, der Lagerbestand automatisch in der Tabelle BestandBuchen geändert wird.
Dazu habe ich folgene Funktion versucht anzupassen, aber scheitert leider daran, das ich nicht _
weiß wie ich weiter mache, wenn der gesuchte Wert gefunden wurde:

Sub Lageraktualisierung()
Application.ScreenUpdating = False
Dim SuBe As Long
Dim c As Range
SuBe = Range("Menge1")
Artikelliste.Activate
With Sheets("BesandBuchen").Range("E5:E" & Cells(Rows.Count, 1).End(xlUp).Row)
Set c = .Find(SuBe, LookIn:=xlValues)
End With
End Sub

Wie sage ich jetzt, dass in Tabelle "BestandBuchen" der Bestand in Spalte F um den Wert Menge1 aus Tabelle1 reduziert wird?
Und wo Kopiere ich den Code ein?Modul oder Tabellenblatt?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Find-Funktion VBA
17.05.2013 03:01:40
fcs
Hallo b3000 (komischer Name),
den Code solltest du in einem allgemeinen Modul anlegen.
Da mehrere Tabellenblätter bei der Abarbeitung des Codes betroffen sind, musst du sehr genau darauf achten, dass die Referenz der Range- und Cells-Objekte zum zugehörigen Tabellenblatt immmer vollständig angegeben ist.
Gruß
Franz
Der Code muss dann etwa wie folgt aussehen, um relativ zur Fundstelle Werte anzupassen.
Sub Lageraktualisierung()
Application.ScreenUpdating = False
Dim SuBe As Long
Dim c As Range
SuBe = Range("Menge1")
Artikelliste.Activate
With Sheets("BesandBuchen")
With .Range("E5:E" & .Cells(.Rows.Count, 1).End(xlUp).Row)
Set c = .Find(SuBe, LookIn:=xlValues)
If c Is Nothing Then
MsgBox "Begriff """ & SuBe & """ nicht gefunden", _
vbInformation + vbOKOnly, "Lageraktualisierung"
Else
'in Zelle rechts neben C den Wert anpassen
c.Offset(0, 1).Value = c.Offset(0, 1).Value - Tabelle1.Range("Wert_Menge1")
End If
End With
End With
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige