Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nur Werte einfügen

Forumthread: 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

Anzeige

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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige