Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1572to1576
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Default Wert in Zellen Festlegen

Default Wert in Zellen Festlegen
18.08.2017 16:18:01
Lucas
Hallo zusammen
Ich möchte in einem Excel Dokument (siehe File upload) für den Bereich C4:N4 Defaultwerte festlegen. Wenn der Nutzer eine Eingabe macht diese aber wiederum löscht soll wieder der Default Wert angezeigt werden. Dieser Default Wert hängt von einer Auswahl aus einer Dropdownliste der jeweiligen Spalte (C13:N13) ab. z. B. ist der Wert für Auswahl 1: 1.2, derjenige für Auswahl 2 1.4 etc.
Der Wert in der jeweiligen Zelle von C4 bis N4 wird danach in den Zellen C17 bis N17 für eine Berechnung verwendet.
Wie lautet der vba Code hierfür einaml ohne die Abhängigkeit der Dropdownliste und einmal mit.
Leide habe ich nicht viel Erfahrung was das programmieren von vba im Excel angeht.
Anbei der Code für ein Gif der Excel Datei:
Userbild
Vielen Dank für eure Hilfe.
Grüsse
Lucas

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Default Wert in Zellen Festlegen
18.08.2017 16:19:58
Hajo_Zi
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Schau mal hier
Eine hochgeladene Arbeitsmappe erhöht die Wahrscheinlichkeit, dass Du eine Lösung für Dein Problem erhältst.
Erstelle folglich bitte eine Demomappe, aus der deine Aufgabenstellung klar erkennbar ist und lade diese hoch.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, solltest du diese Daten anonymisieren bzw. pseudonymisieren.
Falls Du den Download des Forums nicht benutzen möchtest beachte bitte: von unsicheren Servern file-upload lade ich keine Datei herunter (lt. Einschätzung meines Virenprogramms)

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Anzeige
AW: Default Wert in Zellen Festlegen
18.08.2017 16:24:33
Lucas
Hallo Hajo_Zi
Vielen Dank für den Hinweis. habe nun die sensiblen Daten rausgenommen und das ExcelFile angehängt.
https://www.herber.de/bbs/user/115566.xlsx
Grüsse
Lucas
AW: Default Wert in Zellen Festlegen
18.08.2017 16:26:30
Hajo_Zi
Halo Lucas,
Gut das geht nur per VBA, das hast Du ja mit Deiner Datei abgelehnt.
Ich bin dann raus.
Gruß Hajo
wo ist der Default Wert?
18.08.2017 17:46:23
Tino
Hallo,
wo sollen die Standardwerte (1.2, 1.4 ...) herkommen?
Gruß Tino
AW: Default Wert in Zellen Festlegen
21.08.2017 08:20:41
Lucas
Hallo Sepp
Danke für die Hilfe könntest du mir eine kleine Erklärung schreiben was der Code genau bedeutet. kann so nicht ganz nachvollziehen ob es so stimmt.
Also die Defaultwerte sollten auch im VBA code enthalten sein und abhängig von der Auswahl im Dropdown menu (C13:N13 sein also wenn Auswahl 1 dann 1.2, wenn Auswahl 2 dann 1.4 etc. wenn keine Auswahl gemacht wurde können die Zellen leer bleiben.
AW: Default Wert in Zellen Festlegen
22.08.2017 19:54:34
Sepp
Hallo Lucas,
dann so.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, varRet As Variant
Dim varValues(12) As String
On Error GoTo ErrExit

varValues(0) = "1.2"
varValues(1) = "1.4"
varValues(2) = "1.6"
varValues(3) = "1.8"
varValues(4) = "2.0"
varValues(5) = "2.2"
varValues(6) = "2.4"
varValues(7) = "2.6"
varValues(8) = "2.8"
varValues(9) = "3.0"
varValues(10) = "3.2"
varValues(11) = "3.4"
varValues(12) = "3.6"

If Not Intersect(Target, Range("C13:N13")) Is Nothing Then
  Application.EnableEvents = False
  For Each rng In Intersect(Target, Range("C13:N13"))
    If rng <> "" Then
      varRet = Application.Match(rng, Range("C16:N16"), 0)
      If IsNumeric(varRet) Then rng.Offset(1, 0) = varValues(varRet - 1)
    Else
      rng.Offset(1, 0) = ""
    End If
  Next
End If

ErrExit:
Application.EnableEvents = True
End Sub

Der Code vergleicht die Auswahl mit den Listeneinträgen (MATCH) und gibt je nach Index den entsprechenden Eintrag aus dem Array (varValues) zurück.
Gruß Sepp

Anzeige
AW: Default Wert in Zellen Festlegen
23.08.2017 10:48:25
Lucas
Hallo Sepp
Vielen Dank fast Perfekt. Ich hab noch den Code so abgeändert, dass die jeweiligen Values in Zeile C4:C13 auftauchen in dem ich den Offset angepasst habe. Was noch fehlt ist wenn ich diese vorgegebene Zahl z. B. varValues(0) = "1.3" im excel file lösche und durch eine andere Zahl manuell ersetze z. B. 1.6 und diese dann wieder lösche dass dann wider die 1.3 auftaucht. Was müsste man noch ändern? In der Zeile C5:N5 soll zusätzlich noch ein default Wert festgelegt werden der jedoch immer z. B. 9.4 beträgt was muss ich hierbei am Code? Kann ich den Code im gleichen Fenster einfügen wie der andere?
Vielen dank.
Grüsse
Lucas
So siehts im Moment aus:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, varRet As Variant
Dim varValues(11) As String
On Error GoTo ErrExit
varValues(0) = "1.3"
varValues(1) = "1.5"
varValues(2) = "0.8"
varValues(3) = "1.2"
varValues(4) = "1.0"
varValues(5) = "1.5"
varValues(6) = "1.2"
varValues(7) = "0.8"
varValues(8) = "1.8"
varValues(9) = "2.0"
varValues(10) = "2.4"
varValues(11) = "2.5"
If Not Intersect(Target, Range("C13:N13")) Is Nothing Then
Application.EnableEvents = False
For Each rng In Intersect(Target, Range("C13:N13"))
If rng  "" Then
varRet = Application.Match(rng, Range("C16:N16"), 0)
If IsNumeric(varRet) Then rng.Offset(-9, 0) = varValues(varRet - 1)
Else
rng.Offset(-9, 0) = ""
End If
Next
End If
ErrExit:
Application.EnableEvents = True
End Sub

Anzeige
AW: Default Wert in Zellen Festlegen
23.08.2017 21:01:22
Sepp
Hallo Lucas,
mein erster Code zog die Werte aus der Tabelle, da hast du gesagt "sollte im VBA hinterlegt sein"! Jetzt habe ich die Werte im Code hinterlegt und du willst sie wieder aus der Tabelle.
Schön langsam solltest du dich entscheiden!
Beschreibe nochmal genau, was wann wo und warum erscheinen soll, am besten anhand deiner Beispieldatei! Und zwar so, dass sich auch ein Unwissender vorstellen kann, was du willst!
Gruß Sepp

214 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige