Office: VBA Funktion

Helfe beim Thema VBA Funktion in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Problem Ein Unternehmen verwendet sechsstellige Artikelnummern Um Eingabefehler zu verringern, wird an diese Artikelnummer eine weitere Ziffer als... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von jacki1989, 7. Dezember 2008.

  1. jacki1989 Erfahrener User

    VBA Funktion


    Problem

    Ein Unternehmen verwendet sechsstellige Artikelnummern
    Um Eingabefehler zu verringern, wird an diese Artikelnummer
    eine weitere Ziffer als Prüfziffer angehängt.
    Sie wird folgendermaßen errechnet:

    Artikelnummer 1 2 3 4 5 6
    Faktor 6 5 4 3 2 1
    Einzelwer 6 10 12 12 10 6
    Gesamtwert 56
    dividiert durch 11
    Rest 1 <- Prüfziffer
    Artikelnummer mit Prüfziffer: 1234561

    Kann mit jemand beim Erstellen des Struktogramms helfen? Bzw. die Funktion programmieren?

    Stimmt die eingegebene Prüfziffer mit der errechneten Prüfziffer überein,
    so wird als Text "Prüfziffer stimmt" ausgegeben.
    Weicht die errechnete Prüfziffer von der eingegebenen Prüfziffer jedoch
    ab, so soll die Funktion als Ergebnis den Text
    "Prüfziffer stimmt nicht, korrekt ist ..." ausgeben.


    DANKE
     
    jacki1989, 7. Dezember 2008
    #1
  2. schatzi Super-Moderator
    Hallo!

    Das sollte doch auch noch ohne VBA gehen:

     AB
    21234561stimmt
    31234562stimmt nicht! Richtig wäre 1
    ZelleFormel
    B2=WENN(REST(A2;10)=REST(SUMMENPRODUKT((7-ZEILE($1:$6))*TEIL(A2;ZEILE($1:$6);1));11);"stimmt";"stimmt nicht! Richtig wäre "&REST(SUMMENPRODUKT((7-ZEILE($1:$6))*TEIL(A2;ZEILE($1:$6);1));11))
    B3=WENN(REST(A3;10)=REST(SUMMENPRODUKT((7-ZEILE($1:$6))*TEIL(A3;ZEILE($1:$6);1));11);"stimmt";"stimmt nicht! Richtig wäre "&REST(SUMMENPRODUKT((7-ZEILE($1:$6))*TEIL(A3;ZEILE($1:$6);1));11))

    Teste es mal durch, ob dir die Formel die korrekten Ergebnisse liefert.
     
    Zuletzt von einem Moderator bearbeitet: 30. November 2020
    schatzi, 7. Dezember 2008
    #2
  3. jacki1989 Erfahrener User
    Danke, für Excel habe ich es auch hinbekommen und deine Formel sind richtig:)

    Doch "leider" muss ich es mit VBA programmieren.

    Kannst du mir da helfen?
     
    jacki1989, 8. Dezember 2008
    #3
  4. schatzi Super-Moderator

    VBA Funktion

    Hallo!

    Warum so etwas in VBA sein MUSS, werde ich mein Leben lang nicht begreifen...
    Code:
    Sub test()
      Dim Bereich As Range, Zelle As Range, i As Integer, x As Integer
      Set Bereich = Range("A1:A2") '<-- hier anpassen
      For Each Zelle In Bereich
        x = 0
        For i = 1 To 6
          x = x + (7 - i) * Mid(Zelle, i, 1)
        Next i
        x = x Mod 11
        If x = Zelle Mod 10 Then
          Zelle.Offset(0, 1) = "Stimmt"
        Else
          Zelle.Offset(0, 1) = "Falsch! Richtig ist " & x
        End If
      Next Zelle
    End Sub
     
    schatzi, 8. Dezember 2008
    #4
  5. tg.89 Neuer User


    Hey ich weiß es ist ja schon ein paar Jährchen her aber könnte mir vllt jemand sagen warum in Zeile 7 ein Fehler ist?
    Danke schonmal :)
     
  6. miriki Erfahrener User
    Moinsens!

    Weil Du Zeile 3 (nach dem ') nicht beachtet hast... ;-)

    Gruß, Michael
     
Thema:

VBA Funktion

Die Seite wird geladen...
  1. VBA Funktion - Similar Threads - VBA Funktion

  2. Array-Funktion mit VBA in Zelle schreiben

    in Microsoft Excel Hilfe
    Array-Funktion mit VBA in Zelle schreiben: Hallo zusammen, ich bin begeisterter Nutzer der neuen Array-Funktionen in Excel 365. Ich möchte mit VBA so eine Funktion in eine Zelle schreiben. Bei "normalen" Formeln habe ich das immer so...
  3. Hilfe bei VBA-Programmierung

    in Microsoft Excel Hilfe
    Hilfe bei VBA-Programmierung: Hallöchen zusammen, ich bräuchte mal wieder eure Hilfe. Diesmal geht es um ein VBA-Programm bzw. -Funktion. Folgender Sachverhalt: Ich habe Rohdaten in einer Textdatei, die ich mir in Excel...
  4. Outlook VBA NewMail Funktion Problem

    in Microsoft Outlook Hilfe
    Outlook VBA NewMail Funktion Problem: Hallo zusammen, ich möchte aus eingehenden E-Mails Anlagen in einem vorgegebenen Order abspeichern. Ich habe mir dazu ein Makro aus dem Netzt gemopst - zugegebenermaßen- was genau das kann....
  5. Funktion soll Wert in Variable übergeben (VBA)

    in Microsoft Excel Hilfe
    Funktion soll Wert in Variable übergeben (VBA): Hallo Forum-Gurus, ich bräuchte kurz Eure Hilfe. Anscheinend bin ich auf den Kopf gefallen. Folgende Funktion habe ich programmiert und möchte das Ergebnis nun in einer andere Private Sub...
  6. E-Mail Funktion mail auslesen VBA Anfänger

    in Microsoft Excel Hilfe
    E-Mail Funktion mail auslesen VBA Anfänger: Hallo, ich habe über das Internet mir einen Code zusammengebastelt. Code: Sub EmailManuellAbsenden() Application.DisplayAlerts = False Dim objOutlook As Object Dim objMail As Object Dim olApp As...
  7. VBA Funktion Range in Array umwandeln

    in Microsoft Excel Hilfe
    VBA Funktion Range in Array umwandeln: Liebe Alle! Ich hab folgendes Problem. Ich möchte ein Funktion die Zahlen in einer Range übernimmt und dann in ein Array kopiert / umwandelt. Code: Option Explicit Public Function...
  8. Funktion in Excel-VBA nutzen

    in Microsoft Excel Hilfe
    Funktion in Excel-VBA nutzen: Hallo, ich habe einige Zeit nichts mehr mit der VBA-Programmierung gemacht. Da scheint sich einiges geändert zu haben. Ich dachte mir, ein allgemeiner Funktionsaufruf funktioniert immer noch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden