Clever-Excel-Forum

Normale Version: Rückstell-/Änderungsfunktion in Excel?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo

Ich suche eine Funktion um eine Änderung in einer bestimmten Zeile festzuhalten.
Beispiel (siehe Bild):

Zelle A28 verfügt über eine Dropdown-Liste (Mast HEB 220, 240, 260 etc.)
In Zelle B33 wird die Streckgrenze für den gewählten Mast-Typ und -Werkstoff eingetragen.

Damit Excel den Tragsicherheitsnachweiss rechnet, muss in Zelle C33 von "Hier Streckgrenze bestätigen" auf "Streckgrenze bestätigt" geändert werden (ebenfalls Dropdown).

Mein Wunsch ist es nun, dass wenn in Zelle A28 ein anderer Mast gewählt wird, entweder der Inhalt von B33 gelöscht wird, also dass die Streckgrenze erneut für den passenden Werkstoff eingegeben werden muss
ODER
das in Zelle C33 die Auswahl auf "Hier Streckgrenze bestätigen" geändert wird. Das Excel ist bereits so aufgebaut, dass ohne die Bestätigung von C33 kein Nachweiss gerechnet wird.

Die Funktion soll sicherstellen, dass wenn vorgängig ein Benutzer einen Mast gerechnet hat und nun einen anderen auswählt, dass die Streckgrenze des neuen Mast bestätigt oder neu eingegeben werden muss.
Von der Streckgrenze sind nämlich die zulässigen Torsions- und Biegespannungen abhängig und diese sind essenziell für den Tragsicherheitsnachweiss.

Vielen Dank
Hallo,

trage diesen Code in das Modul deines Tabellenblatts ein (NICHT in ein allgemeines Modul!):

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A28") Then
   Range("B33").ClearContents      'Inhalt B33 löschen
   Range("C33") = "Hier Streckgrenze bestätigen"        'Trägt Text in C33 ein
End If
End Sub


PS: Es heißt "Nachweis" und nicht "Nachweiss".
Danke MisterBurns

Kann ich den Code so anpassen, dass für den Text nach eine Zelle im Blatt definieren kann und dort den Text eingeben kann, statt dass im Code ein fixer Text definiert ist?

Gruss

Oli
Code:
Range("C33") = Sheets("DeinBlatt").Range("A1")        'Trägt den Wert aus Tabellenblatt "DeinBlatt", Zelle A1 in Zelle C33 ein
Wenn ich bei mehr als 3 Zellen irgendwo im Dokument etwas ändere, kommt die Meldung:

Laufzeitenfehler 13 - Typen unverträglich

Beim Klicken auf Debbugen geht dieser auf die Zeile mit:

If Target = Sheets("Eingabe").Range("A34") Then       'Überprüft, ob Zelle A34 aus Tabellenblatt "Eingabe" geändert wurde

Als wäre dort der Code falsch.

Kann ich das irgendwie beheben?
Hier noch der ganze Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Sheets("Eingabe").Range("A34") Then       'Überprüft, ob Zelle A34 aus Tabellenblatt "Eingabe" geändert wurde
   Range("B39") = Sheets("Daten").Range("B39")        'Trägt den Wert aus Tabellenblatt "Daten", Zelle B39 in Zelle B39 ein
   Range("C39") = Sheets("Daten").Range("B40")        'Trägt den Wert aus Tabellenblatt "Daten", Zelle B40 in Zelle C39 ein
End If
If Target = Sheets("Eingabe").Range("B34") Then       'Überprüft, ob Zelle B34 aus Tabellenblatt "Eingabe" geändert wurde
   Range("C39") = Sheets("Daten").Range("B40")        'Trägt den Wert aus Tabellenblatt "Daten", Zelle B40 in Zelle C39 ein
End If
End Sub
Lade bitte eine Beispielmappe hoch.
Hier ein Ausschnitt aus der Mappe.

Wenn ich mehrere Zellen auswähle und einfach lösche, erscheint besagte Meldung
Hallo,
mir wird angezeigt, dass die Datei nicht existiert ...

Lg
Marcus
Ich sehe im Forum, dass die Datei bereits 4 Mal heruntergeladen wurde...
Hast du Seite mal neu geladen?
Seiten: 1 2 3