Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
796to800
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
796to800
796to800
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code in Tabellenblatt

Code in Tabellenblatt
03.09.2006 12:10:39
Ellen
Hallo,
ich habe bisher nur einfache Codes programmiert, die ich per Button ausführe. Nun sollte ich einen Code haben, der automatisch im Tabellenblatt ausgeführt wird und komme damit nicht klar.
Problemstellung:
In Spalte B wird ein Wert eingegeben und wenn Eingabe gedrückt wird soll der Wert automatisch mit einer bestimmten Zahl (in meinem Beispiel nehme ich die 2) multipliziert werden.
Folgendermaßen habe ich das ganze einmal versucht. Nun habe ich zum einen das Problem, dass die Zelle bis zur "Unendlichkeit" mit 2 multipliziert wird, da sich die Zelle ständig ändert. Ich möchte das ganze aber nur 1x ausführen. Und zum anderen möchte ich noch eine Abfrage einbauen, dass das nur gemacht wird wenn eine Zahl und kein Buchstabe eingegeben wird.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim intTarg As Integer
If Target.Column = 2 Then
intTarg = Target.Value
Target.Value = intTarg * 2
End If
End Sub

Ich hoffe ihr könnt mir kurz behilflich sein.
Danke und Gruß,
Ellen

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code in Tabellenblatt
03.09.2006 12:14:12
Josef
Hallo Ellen!
Das geht so.
' **********************************************************************
' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrExit
If Target.Column = 2 And Target.Count = 1 Then
  Application.EnableEvents = False
  If IsNumeric(Target) Then Target = Target * 2
End If
ErrExit:
Application.EnableEvents = True
End Sub


Gruß Sepp

Anzeige
AW: Code in Tabellenblatt
03.09.2006 12:29:44
Ellen
Hallo Sepp,
vielen Dank, das ist super. Jetzt hätte ich nur noch ein kleines Problem.
Wenn ich in dieser Spalte nun einen Wert mit "del" entferne so kommt automatisch die "0".
Ich möchte dann aber, dass nichts in der Zelle steht.
Hab schon versucht folgendes noch einzubinden:
If Target.Value Is 0 Then Target = ""
leider ohne Erfolg.
Könntest du mir hierbei noch kurz behilflich sein?
Vielen Dank im Voraus.
Gruß,
Ellen
AW: Code in Tabellenblatt
03.09.2006 12:40:46
Josef
Hallo Ellen!
' **********************************************************************
' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrExit
If Target.Column = 2 And Target.Count = 1 Then
  Application.EnableEvents = False
  If IsNumeric(Target) Then
    If Len(Target) > 0 Then
      Target = Target * 2
    Else
      Target = ""
    End If
  End If
End If
ErrExit:
Application.EnableEvents = True
End Sub


Gruß Sepp

Anzeige
Danke (o.T.)
03.09.2006 13:13:27
Ellen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige