Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1328to1332
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

VBA - nur Werte einfügen zulassen

VBA - nur Werte einfügen zulassen
09.09.2013 14:54:29
Lars
Hallo Ihr Lieben,
ich sitze seit heute morgen vor einem Problem:
In einer Excelliste mit mehreren Tabellenblättern sollen nur Werte eingefügt werden. Alle weiteren Auswahlkriterien beim Einfügen sollen ausgegraut werden. So soll verhindert werden, dass jemand mit eine ungewollten Formatierung die Liste mit Formeln und Pivottabellen zerstört.
Mit den bisherigen Lösungen habe ich entweder mein Excel grundlegend zerstört (Rechtsklick war deaktiviert) oder aber die falschen Funktionen waren ausgegraut.
Kennt jemand eine Lösung?
Vielen Dank schon einmal vorab.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - nur Werte einfügen zulassen
09.09.2013 15:54:35
Hajo_Zi
ich interpretiere mal Werte als numerisch.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target) = False Then
Application.Undo
End If
End Sub


AW: VBA - nur Werte einfügen zulassen
09.09.2013 16:07:40
Lars
Hi,
leider sind es nicht nur Nummern, sondern auch Texte, so dass der Code nicht funktioniert.
Zusätzlich fängt Excel auch an zu flattern, wenn hier Werte eingefügt werden.
Liebe Grüße

AW: VBA - nur Werte einfügen zulassen
09.09.2013 16:09:59
Hajo_Zi
ich habe mich an das gehalten was im Beitrag steht, nur Werte, von anderen Eingaben Stand nichts. Mein Excel flakkert nicht.
Gruß Hajo

Anzeige
AW: VBA - nur Werte einfügen zulassen
09.09.2013 16:14:35
Lars
Hallo Hajo,
....wenn man nun Werte als Wort nimmt, OK. Allerdings übernimmt Excel auch Texte, wenn man "Werte einfügen" auswählt.
Am Wichtigsten ist, dass die Zielformatierung beibehalten wird. Kennst du vielleicht auch hierfür eine Lösung?
Vielen Dank

AW: VBA - nur Werte einfügen zulassen
09.09.2013 16:18:28
Lars
Sorry, hatte vergessen, den Haken für nicht erledigt zu setzen. Bitte in den vorherigen Thread schauen.

AW: VBA - nur Werte einfügen zulassen
09.09.2013 16:26:41
Hajo_Zi
die automatischen Formatierungen von Excel bekommst Du nicht abgeschlatet und damit bekommst Du den eingegebenen Wert auch nicht angezeigt, selbst wenn Du das Format zurückstellst.
Gruß Hajo

Anzeige
AW: VBA - nur Werte einfügen zulassen
09.09.2013 16:46:36
Lars
Habe jetzt folgenden Code von der Seite alant.com.
Beim Einfügen von Zahlen habe ich jetzt die Auswahl von 3 Möglichkeiten: Einfügen, Verknüpfung einfügen, an Zielformatierung anpassen.
Hier soll jedoch "an nur Zielformatierung anpassen" zur Auswahl zur Verfügung stehen. Hat hier jemand einen Vorschlag?
Option Explicit
Sub EnableControl(Id As Integer, Enabled As Boolean)
Dim CB As CommandBar
Dim C As CommandBarControl
For Each CB In Application.CommandBars
Set C = CB.FindControl(Id:=Id, recursive:=True)
If Not C Is Nothing Then C.Enabled = Enabled
Next
End Sub
Private Sub Workbook_Activate()
' Die Befehlsschaltflächen deaktivieren
EnableControl 21, False ' Ausschneiden (cut)
EnableControl 19, False ' Kopieren (copy)
EnableControl 22, False ' Einfügen (paste)
EnableControl 755, False ' Inhalte Einfügen (pastespecial)
' Tastenkombinationen abfangen
Application.OnKey "^c", "" ' STRG + c kopieren abfangen (copy)
Application.OnKey "^v", "" ' STRG + v einfügen abfangen (cut)
Application.OnKey "^x", "" ' STRG + x ausschneiden abfangen (cut)
Application.OnKey "+{DEL}", "" ' SHIFT + ENTF auschneiden abfangen (cut)
Application.OnKey "+{INSERT}", "" ' SHIFT + EINFG einfügen abfangen (paste)
' Zellen mit dem Randanfasser verschieben, kopieren verhindern
Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_Open()
' Die Befehlsschaltflächen deaktivieren
EnableControl 21, False ' Ausschneiden (copy)
EnableControl 19, False ' Kopieren (copy)
EnableControl 22, False ' Einfügen (paste)
EnableControl 755, False ' '
' Tastenkombinationen abfangen
Application.OnKey "^c", "" ' STRG + c Kopieren (copy)
Application.OnKey "^v", "" ' STRG + v (cut)
Application.OnKey "^x", "" ' STRG + x (paste)
Application.OnKey "+{DEL}", "" ' SHIFT + ENTF (cut)
Application.OnKey "+{INSERT}", "" ' SHIFT + EINFG (paste)
' Zellen mit dem Randanfasser verschieben, kopieren wieder ermöglichen
Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Die Befehlsschaltflächen wieder aktivieren
EnableControl 21, True ' Ausschneiden (cut)
EnableControl 19, True ' Kopieren (copy)
EnableControl 22, True ' Einfügen (paste)
EnableControl 755, True ' pastespecial
' Tastenkombinationen abfangen
Application.OnKey "^c" ' STRG + c (copy)
Application.OnKey "^v" ' STRG + v (cut)
Application.OnKey "^x" ' STRG + x (cut)
Application.OnKey "+{DEL}" ' SHIFT + ENTF (cut)
Application.OnKey "+{INSERT}" ' SHIFT + EINFG (paste)
' Zellen mit dem Randanfasser verschieben, kopieren wieder ermöglichen
Application.CellDragAndDrop = True
End Sub
Private Sub Workbook_Deactivate()
' Die Befehlsschaltflächen wieder aktivieren
EnableControl 21, True ' Kopieren (copy)
EnableControl 19, True ' Kopieren (copy)
EnableControl 22, True ' Einfügen (paste)
EnableControl 755, True ' ' Inhalte Einfügen (pastespecial)
' Tastenkombinationen wieder einschalten
Application.OnKey "^c" ' STRG + c Kopieren (copy)
Application.OnKey "^v" ' STRG + v Einfügen (paste)
Application.OnKey "^x" ' STRG + v ausschneiden (cut)
Application.OnKey "+{DEL}" ' SHIFT + ENTF (cut)
Application.OnKey "+{INSERT}" ' SHIFT + EINFG (paste)
' Zellen mit dem Randanfasser verschieben, kopieren wieder ermöglichen
Application.CellDragAndDrop = True
End Sub

Anzeige
AW: VBA - nur Werte einfügen zulassen
09.09.2013 16:39:28
Rudi
Hallo,
stell per Worksheet_Change die Formatierung wieder her.
Eine andere Möglichkeit sehe ich nicht.
Gruß
Rudi

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige