Collapse column

Autor Thema: Office 2016 Makro wird bei Benutzung bestimmter Routinen nicht in der Makroliste angezeigt  (Gelesen 972 mal)

Offline BowervanLichtenstein

  • Newbie
  • *
  • Beiträge: 2
    • Profil anzeigen
  • Office-KnowHow: Anfänger
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2016
Sehr geehrte Office Community,

ich möchte, dass in Excel beim Verändern vom Wert in Feld 1 oder Feld 2 in Feld 3 sein Wert = seinem Wert + dem neu eingegebene Wert von Feld 1 oder Feld 2 berechnet wird.
Wenn Feld 3 z.B. B1 ist, kommt eine Fehelermeldung wenn ich sage =B1 + B2.
In anderen Foren hieß es, dass man das nur mit einem Makro realisieren kann. Also habe ich folgendes Makro geschrieben:

Dim Wert As Double
Dim Gehalt As Double
Dim Bafög As Double

 
Sub Worksheet_Change(ByVal Target As Excel.Range)
  Wert = Worksheets("Tabelle1").Cells(3, 9).Value
       
        If Target.Address = "$B$3" Then
         Gehalt = Worksheets("Tabelle1").Cells(3, 2).Value
         Wert = Wert + Gehalt
         Cells(3, 9).Value = Wert
         
     End If

    If Target.Address = "$B$5" Then
         Bafög = Worksheets("Tabelle1").Cells(5, 2).Value
         Wert = Wert + Bafög
         Cells(3, 9).Value = Wert
         
    End If
   
   
End Sub
-
-
-
-
Leider wird mir dieses nicht in der Makroliste angezeit und ich verstehe nicht warum  :-\.
Wenn ich über die Sub Guthaben() z.B. Sub blabal()     End Sub schreibe so wird es in der Makroliste mit blabla angezeigt.

Aber Warum wird denn das Makro so nicht angezeigt??

Ich freue mich auf hilfreiche Antworten

Lg



Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Hallo,

der Grund ist, dass in der Makroliste nur Prozeduren angezeigt werden, die kein Argument beinhalten,
das an das Makro übergeben werden muss - in diesem Fall ByVal Target As Excel.Range. Denn woher
soll die Makroliste wissen, was zu übergeben ist?

Nebenbei, Worksheet_Change ist eigentlich der Name eines Ereignisses, welches dann ausgelöst wird,
wenn eine Zelle in einer Tabelle geändert wird, also der Aufruf erfolgt automatisch. Das geht aber nur,
wenn Worksheet_Change im Codemodul zu der Tabelle steht - nicht in einem Standardmodul.

Falls Du lieber den Aufruf manuell hättest, sollest Du einen anderen Prozedurnamen wählen, z.B. wie
Du schon genannt hattest: Sub Gehalt.

Möchtest Du den Automatismus haben, dann lege Worksheet_Change ... in das Codemodul der
Tabelle ab.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Offline BowervanLichtenstein

  • Newbie
  • *
  • Beiträge: 2
    • Profil anzeigen
  • Office-KnowHow: Anfänger
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2016
Vielen Dank für die Antwort

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.