Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
936to940
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
936to940
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nur Werte einfügen

Nur Werte einfügen
04.01.2008 22:04:16
erik
hallo,
habe im netz einen vba code entdeckt, welcher nach dem "Kopieren" der zellinformation die funktion "Einfügen" untersagt, jedoch die funktion "Inhalte einfügen" erlaubt.

Sub Einfuegen_Deaktivieren()
'Tastenkombinationen deaktivieren
Application.OnKey "^v", ""
Application.OnKey "+{INSERT}", ""
'Drag & Drop ausschalten
Application.CellDragAndDrop = False
'Schaltflaechen in Menüleiste => Bearbeiten deaktivieren
procControlEnableDisable 22, False 'Einfuegen
procControlEnableDisable 755, True 'Inhalte einfuegen
procControlEnableDisable 809, False 'Office-&Zwischenablage
End Sub


Suche noch eine Erweiterung hierfür, in dem tabellenblatt soll nach dem "Kopieren" nur das einfügen von "Werten" möglich sein.
Kennt jemand den zahlencode von procControlEnableDisable 755x - nur "Werte" ?
oder eine andere lösungsmöglichkeit ?
erik

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Werte einfügen
05.01.2008 09:20:00
Luschi
Hallo Eric,
jeder excelinterne Menüpunkt im Commandbars-Objekt besitzt eine ID-Nr; und 755 gehört zum Menüpunkt 'Inhalte einfügen...'.
Hier ein Makro, daß alle Exel-Menüpunkte mit der entspr. ID-Nr. in der aktiven Tabelle _ auflistet:

Public Sub id_Liste_erstellen()
Dim Leiste As CommandBar, Zähler As Integer, BarIdx As Integer
Dim cmbcSteuerelement As CommandBarControl, Zeile As Long, Spalte As Integer, _
ash As Worksheet
BarIdx = 1
Set ash = ActiveSheet
ash.Cells.Clear
For Each Leiste In Application.CommandBars
ash.Cells(BarIdx, 1) = Leiste.Name
ash.Cells(BarIdx, 2) = Leiste.NameLocal
For Zähler = 1 To Leiste.Controls.Count
With Leiste.Controls(Zähler)
ash.Cells(BarIdx + Zähler, 1) = .ID
ash.Cells(BarIdx + Zähler, 2) = .Caption
End With
Next Zähler
BarIdx = BarIdx + Zähler + 1
Next
For Zeile = 2 To ash.Cells(65536, 1).End(xlUp).Row
If IsNumeric(ash.Cells(Zeile, 1)) And Trim(ash.Cells(Zeile, 1))  "" Then
Spalte = 3
For Each cmbcSteuerelement In _
Application.CommandBars("Worksheet Menu Bar").Controls(CStr(ash.Cells(Zeile, 2) _
)).Controls
With cmbcSteuerelement
ash.Cells(Zeile, Spalte) = .ID
ash.Cells(Zeile, Spalte + 1) = .Caption
End With
Spalte = Spalte + 2
Next
Else
Exit For
End If
Next
Columns.AutoFit
Set ash = Nothing
End Sub

Gruß von Luschi
aus klein-Paris
PS: Obwohl M$ mit Office 2007 das Menüsystem auf das Ribbon-Objekt umgestellt hat, wurde das Commandbars-Objekt noch erheblich ausgebaut; ob das ein Zufall ist?

Anzeige
AW: Nur Werte einfügen
05.01.2008 11:31:00
Hajo_Zi
Hallo
wird die Bildschirmaktualisierung ausgeschaltet, läuft es noch ein wenig schneller.

AW: Nur Werte einfügen
05.01.2008 14:51:36
erik
hallo luschi,
danke für das tool,
hat mir bei der problemlösung sehr geholfen.
erik

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige