Excel: Wie gestalte ich dieses Makro schneller und effektiver und sorge dafür, dass es bei Neustart nur neue Werte erkennt?

Wie kann ich dieses Makro schneller und effektiver machen und wie bekomme ich es hin, dass es beim Neustart nicht schon wieder die Werte erkennt, die schon einmal  dran waren? Sodass die 50 nach dem ersten Mal Abspielen des Sounds ignoriert wird.

Code:

Sub PlaySound()
  Dim ws As Worksheet
  Dim rng As Range
  Dim cell As Range
  Dim goals As Long
  Dim soundFile As String
  Dim thresholds As Variant
  Dim i As Integer
  Set ws = ThisWorkbook.Worksheets("Spielplan")
  Set rng = ws.Range("O1:O" & ws.Cells(ws.Rows.Count, "O").End(xlUp).row)
  soundFile = "Sound_pfad.mp3"
  'Array of threshold values
  thresholds = Array(50, 100, 150, 200, 250, 300, 350, 400, 450, 500,550,600,650,700,750,800,850,900,950,1000)
  Do While True 'Endlosschleife hinzugefügt
    For Each cell In rng
      If IsNumeric(cell.Value) Then
        goals = goals + cell.Value
        'Check if goals is equal to any of the threshold values
        For i = LBound(thresholds) To UBound(thresholds)
          If goals = thresholds(i) Then
            Application.ScreenUpdating = False
            Application.EnableEvents = False
            ActiveSheet.OLEObjects.Add(Filename:=soundFile, Link:=False, DisplayAsIcon:=False).Select
            Selection.Verb Verb:=xlPrimary
            Selection.Delete
            Application.ScreenUpdating = True
            Application.EnableEvents = True
          End If
        Next i
      End If
    Next cell
    'Verzögerung hinzugefügt, um die CPU-Auslastung zu reduzieren
    Application.Wait (Now + TimeValue("0:05:00"))
  Loop
End Sub
Bild zum Beitrag
Microsoft Excel, VBA, automatisierung
Excel-Code für Mehrfachauswahl in Dropdown-Listen?

Hallo zusammen,

Ich versuche gerade ein Excel-Dokument zu erstellen, bei dem eine Mehrfachauswahl aus Dropdown-Listen möglich ist. Das heißt aus einer Liste sollte es möglich sein mehrere Werte anzuwählen. Das habe ich auch mit dem untenstehenden VisualBasic-Code gemeistert. Allerdings habe ich erstens das Problem, dass auch eine Mehrfachauswahl des immer gleichen Wertes möglich ist. Theoretisch könnte also in einer Zelle x-mal derselbe Werte auftauchen. Dies soll natürlich nicht möglich sein. Bei Doppelauswahl desselben Wertes soll dieser aus der Zelle wieder verschwinden.

Mein zweites Problem ist, dass ich bislang nur 2 zwei Dropdown-Listen mit Mehrfachauswahl eingefügt bekomme. Sobald ich eine dritte Spalte versuche zu implementieren, bekomme ich eine Fehlermeldung für meinen Code.

Dadurch, dass ich mich mit dem Ganzen nicht so wirklich auskenne, wäre es sehr nett, wenn mir jemand helfen könnte.

Danke!

 

Bisheriger Code:

 

Private Sub Worksheet_Change(ByVal Target As Range)

** Mehrfachauswahl über DropDown-Liste

'** Einfügen im Code-Container des betreffenden Arbeitsblattes

 

'** Dimensionierung der Variablen

Dim rngDV As Range

Dim wert_old As String

Dim wertnew As String

 

'** Errorhandling

On Error GoTo Errorhandling

 

'** Mehrfachauswahl im definierten Bereich "Abteilungen" und "Themen" (Bsp. J2:J2000, I2:I2000) durchführen

If Not Application.Intersect(Target, Range("J2:J2000", "I2:I2000")) Is Nothing Then

 

 '**Range definieren

 Set rngDV = Target.SpecialCells(xlCellTypeAllValidation)

 If rngDV Is Nothing Then GoTo Errorhandling

  

 '** Prüfen, ob eine gültige Zelle ausgewählt wurde und Werte eintragen

 If Not Application.Intersect(Target, rngDV) Is Nothing Then

   Application.EnableEvents = False

   wertnew = Target.Value

   Application.Undo

   wertold = Target.Value

   Target.Value = wertnew

   If wertold <> "" Then

     If wertnew <> "" Then

       Target.Value = wertold & ", " & wertnew

     End If

   End If

 End If

 Application.EnableEvents = True

End If

 

Errorhandling:

Application.EnableEvents = True

End Sub

Visual Basic, Microsoft Excel, VBA, Dropdownliste
Excel | Diabook - "DiaSearch"?

Guten Morgen zusammen.

Ich bin Robin, 24 Jahre alt und habe Diabetes Typ 1.

Seit einiger Zeit habe ich ein Projekt in mein Leben gerufen das mir wirklich sehr am Herzen liegt und das ich mit vollster Leidenschaft betreibe. Dabei handelt es sich um mein Privates:

Diabetes - "Diabolic-Management System." welches ich selbstständig entwickle.

Dazu habe ich bereits schon mehrere Fragen im Bezug zu Excel gehabt weil ich vorher manche Dinge nicht wusste. Und ich habe auch schon einiges hinbekommen. Allerdings möchte ich das alles nochmal "frisch" überarbeiten.

Ich möchte hier auch nichts Verkaufen oder sowas. Ich benötige lediglich weitere Hilfe bei etwas. Mehr nicht.

Und zwar hatte ich viele einzelne Dinge gebaut die ich nun in einem Dokument an einem einzigen Zentralen Ort haben möchte. Und darum geht's:

Nährwertrechner, Insulinrechner, Tagebuch usw. waren bisher alle Eigene Teile. Diese möchte ich nun alle zu einem zusammenführen. Nun möchte ich das alles in einem Dokument Namens "Diabook" aufbauen.

Sooo und vorher kam mir ein wunderbarer und sehr Ausschlaggebender Gedanke: "DiaSearch" die Suchmaschine die wie so eine Art Google sein soll nur im Bezug auf Lebensmittel und der Lebensmitteldatenbank die ich sowieso baue. Diese nutzt man dann Generell im Tagebuch als Dropdown Menü für die Eintragung von Mahlzeiten oder Lebensmitteln die man isst aber das ist ein anderes Thema.

Meine Idee war es "DiaSearch" einzubauen um jederzeit abhängig von Mahlzeiten schauen zu können wie viel ein Apfel oder sowas an Kohlenhydrate hat. Somit muss man nicht ständig im Tagebuch zurückgreifen um dort nachzuschauen sondern kann wie Google einfach allesmögliche Suchen. Geplant ist auch mit Filter.

Ich habe da mal eine extra Skizze für euch gemacht damit ihr euch das etwas Vorstellen könnt. Und meine Skizze verrät auch so ein wenig worauf ich hinaus will:

Ich möchte das man in der Suchleiste alle möglichen Daten eingeben kann. Namen, ID Nummern und wenn Möglich auch Hashtags um alles finden zu können. Die dazugehörigen Nährwerte sollen dann im "Daten-Dashboard" Detailliert Angezeigt werden. Das soll auch Synchron sein - Apfel, ID 01, usw. und dann dort im Dashboard die Nährwert Angaben zu dem Apfel mit allem und nicht irgendwas anderes. Also im Prinzip sollen die Ergebnisse zur Suche übereinstimmen. Egal ob ich Apfel oder #Apfel oder 01 in der Suchleiste eingebe.

Außerdem hätte ich auch gerne Kategorien und Mengen Auswahl dazu. So ein Dropdown wo man dann 1 Stück usw. auswählen kann um die Menge der Kohlenhydrate zu sehen.

Wäre sowas irgendwie machbar und wie? Ich fände das absolut MEGA!! :D

Vielen Dank im Voraus.

Mit besten Grüßen

Robin | TechBrain. :)

Bild zum Beitrag
PC, Computer, Gesundheit, Software, Windows, Microsoft, Office, Microsoft Excel, Programm, IT, programmieren, Diabetes, Formel

Meistgelesene Fragen zum Thema Microsoft Excel