Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Counter zurücksetzen
#1
Hallo,

ich bräuchte mal Eure Hilfe und möchte mich vorab schonmal herzlich bedanken!

Ich habe 2 Formlare:

1. Eine Excel mit einem Lieferschein welche sich aus der TanListe.xlsm fortlaufend die Lieferscheinnummer zieht
2. Die TanListe.xlsm (hier wird die Lieferscheinnummer gezogen als auch Basisdaten der geschriebenen Lieferscheine eingetragen)

Wie kann ich den Counter für die Lieferscheinnummer zurücksetzen?

Folgendes Makro läuft in der TanListe.xlsm:


Code:
Public Function getTANFromList(p_date, p_kst, p_MAName, p_BehPal, p_Empfang, p_Gefahr As String) As String
Dim p_TAN As String
Dim p_ws As Worksheet
Dim p_TANList As ListObject
Dim p_ListRow As ListRow
On Error GoTo ErrorHandler
Set p_ws = ThisWorkbook.Worksheets("TAN-Liste")
Set p_TANList = p_ws.ListObjects("TanListe")
Set p_ListRow = p_TANList.ListRows.Add
p_TAN = p_ListRow.Index
getTANFromList = Year(Now)
For i = Len(p_TAN) To 7
getTANFromList = getTANFromList & "0"
Next i
getTANFromList = getTANFromList & p_TAN
For Each Cell In p_ListRow.Range
Select Case Cell.Column
Case 1
Cell.Value = getTANFromList
Case 2
Cell.Value = DateValue(p_date)
Case 3
Cell.Value = p_kst
Case 4
Cell.Value = p_MAName
Case 5
Cell.Value = p_BehPal
Case 6
Cell.Value = p_Gefahr
Case 7
Cell.Value = p_Empfang
Case Else
' Do nothing
End Select
Next
Exit Function
ErrorHandler:
If Not p_ListRow Is Nothing Then
p_ListRow.Delete
End If
End Function 

Public Function getStorno(p_TAN As String) As Boolean
Dim p_TANList As ListObject
Dim p_ListRow As ListRow
Set p_TANList = ActiveSheet.ListObjects("TanListe")
For Each p_ListRow In p_TANList.ListRows
If p_ListRow.Range.Cells(1) = p_TAN Then
p_ListRow.Range.Cells(7).Value = "STORNO - " & Environ("USERNAME") & " - " & Now() & Chr(10) & p_ListRow.Range.Cells(7).Value
getStorno = True
Exit Function
End If
Next
End Function
Antworten Top
#2
Hi seschi,

du erhöhst die Wahrscheinlichkeit, dass dir geholfen wird, ungemein mit einer Besipiedatei Wink
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top
#3
Hallöchen,

von Deinen Variablennamen in den beiden Codes lässt keiner auf eine Lieferscheinnummer schließen. Oder ist das die TAN?

Du schreibst auch nicht, was Du unter zurücksetzen verstehst. 1 abziehen oder auf 0 setzen?
Da bräuchtest Du nur die entsprechende variable nehmen und das ausführen.

Du schreibst auch nicht, wann bzw. unter welcher Bedingung Du zurücksetzen willst.
Da Du die Makros gepostet hast, soll das sicher in eins von den beiden rein, aber in welches und wo genau?

Oder willst Du nur einen Button und der soll in einer Zelle einen Eintrag ändern? Glaub ich aber eher nicht, denn dann wären die beiden Codes in der Aufgabenstellung nicht nötig gewesen. Aber man weiß ja nie Sad Sind übrigens nicht alle Makros. Du rufst z.B. noch die Funktion getTANFromList auf, die hast Du nicht gepostet.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Verwende:

Code:
Sub M_snb()
   If Dir(Environ("temp") & "\*TAN") = "" Then CreateObject("scripting.filesystemobject").createtextfile Environ("temp") & "\0000TAN"
   c00 = Dir(Environ("temp") & "\*TAN")

   Name Environ("temp") & "\" & c00 As Environ("temp") & "\" & Format(Val(c00) + 1, "0000") & "TAN"

   MsgBox Val(c00) + 1
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste