Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
724to728
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellinhalt kopieren

Zellinhalt kopieren
01.02.2006 23:21:19
Peter
Hallo.
Excel benutzt anscheinend verschiedene Speichermethoden beim kopieren.
Variante 1: Es wird nur die Zelle markiert. Beim kopieren werden sowohl
Zellinhalt
als auch Formate übertragen.
Variante 2: Es wird der Zellinhalt in der Bearbeitungsleiste markiert und
kopiert.
Hierbei wird nur der Inhalt übertragen.
Dies sind aber nicht die einzigen Unterschiede.
Ich habe eine umfangreiche Exceldatei mit einem freigegebenen Arbeitsbereich für viele Personen. der Rest des Blattes ist geschützt. Um die Bearbeitung im ungeschützten Bereich freizugeben, wird das Blatt über ein Makro kontinuierlich überwacht und der Blattschutz je nach Zellanwahl aufgehoben oder eingeschaltet.
Jetzt kommt das Problem. Dieses Makro verhindert Kopiervorgänge der Variante 1, da nach dem Zellwechsel die zum kopieren markierte Zelle deaktiviert wird und damit der Zwischenspeicher gelöscht wird.
Variante 2 funktioniert aber. Daraus schließe ich das es unterschiedliche Speichermethoden gibt.
Und nun die Frage an die Profis unter Euch.
Kann man per VBA den Kopiervorgang nach Variante 2 einleiten, wobei man trotzdem nur die Zelle markiert?
Eine Datei mit meinem Makro habe ich als Beispiel angehängt. Ist aber nur eine Muster.
https://www.herber.de/bbs/user/30575.xls
Würde mich über Hilfe sehr freuen.
Gruß
Peter

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

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt kopieren
02.02.2006 00:02:03
MichaV
Hallo,
das hier ins Modul:


      
Sub Clippy()
'Wenn keine UserForms im Code, dann
'Verweis auf Microsoft Forms Object Libary setzen!
'oder die nächste Zeile auskommentieren

'ActiveWorkbook.VBProject.References.AddFromFile "FM20.DLL"

Dim t As String
Dim MyData As DataObject
Set MyData = New DataObject
On Error GoTo Fehler
MyData.GetFromClipboard
t = MyData.GetText
t = Left(t, Len(t) - 2)                              
'1) vbCr und vbLf am Ende löschen
If (InStr(t, vbLf) Or InStr(t, vbTab)) _
   
And Left(t, 1) = """" And Right(t, 1) = """" Then 'Wenn Zeilenumbruch oder Tab im Text
  t = Mid(t, 2, Len(t) - 2)                          '2) " am Anfang und am Ende löschen
  t = WorksheetFunction.Substitute(t, """""", """")  '3) "" mit " ersetzen
End If
'Text wieder in Zwischenablage einfügen
MyData.SetText t
MyData.PutInClipboard
'interessanterweise bleibt das Zellformat erhalten! Es wird scheinbar
'nicht in der ZA gespeichert.
Fehler:
End Sub 


und das hier in die Tabelle1:


      
If Not Intersect(Target, Range("MyDefinedRange")) Is Nothing Then
        
If Application.CutCopyMode Then Clippy '<<<<------
        ActiveSheet.Protect Password:="test", DrawingObjects:=False, Contents:=False, Scenarios:=False, UserInterfaceOnly:=True
        
        
'Blattschutz aufheben.
    Else 


Gruß- Micha
PS: Rückmeldung wäre nett.
PPS: http://www.online-excel.de/fom/fo_read.php?f=1&bzh=2907&h=2907
Anzeige
AW: Zellinhalt kopieren
02.02.2006 12:23:51
Peter
Hallo Micha.
Ich bin absoluter Laie in punkto VBA. Meine Makros habe ich alle aus dem Internet und dann mit try and error an meine Bedürfnisse angepasst.
Deshalb folgende Frage hinterher.
Dein Makro Clippy stoppt mit einem Fehler bei "Dim MyData As DataObject" mit der Fehlermeldung: "Benutzerdefinierter Typ nicht definiert!".
Ich denke dein Kommentar vornedran bezieht sich auf diese Variablendeklaration.
Ich habe keine UserForms in meinem Blatt.
Wie kann ich den Verweis auf die Microsoft Forms Objekt Library setzen?
Ich bin guter Hoffnung, dass es dann klappt.
Gruß
Peter
Anzeige
AW: Zellinhalt kopieren
20.02.2006 22:52:19
MichaV
Hallo Peter,
weia, habe Deine Antwort- Frage übersehen. Hier meine Antwort:
nimm das Hochkomma vor
'ActiveWorkbook.VBProject.References.AddFromFile "FM20.DLL"
raus oder gehe im VBA- Editor auf Extras- Verweise und setze einen Haken bei MS Forms Libary.
Sorry 1000x für die späte Antwort. Wenn Du antworten willst, klicke auf den Link in Deiner Benachrichtigungs- Email. Der Threat ist zwar schon im Archiv, aber durch den Email- Link kann er reaktiviert werden.
Gruß- Micha
AW: Zellinhalt kopieren
22.02.2006 18:42:26
Peter
Hallo Micha.
Danke das Du Dich noch gemeldet hast. Habe das Problem nach längerum suchen und probieren dann doch gelöst. Es funktioniert jetzt.
Noch mal Danke.
Die Lösung mit dem starten eines Makros durch ein anderes könnte ich prinzipiell an anderer Stelle auch gebrauchen. Da Du dies so schön gelöst hast, kannst Du mir vielleicht auch dabei helfen.
Folgendes Problem.
Ich möchte das, in einem Umfangreichen Blatt, die User in jedem Fall die Makros aktivieren.
Aus dem Forum habe ich hierzu zwei Makros. Beim schließen der Datei wird das Hauptblatt ausgeblendet, ein Hilfsblatt eingeblendet und gespeichert.
Beim öffnen wiederum umgekehrt. Dies allerdings nur wenn die Makros aktiviert sind.
Das funktioniert auch soweit.
Ich habe ein zweites Makro aus dem Forum, mit welchem gefilterte Spalten markiert werden.
Dieses Makro funktioniert aber nicht im Zusammenhang mit dem vorgenannten da, wohl wegen des ausgeblendeten Blattes, ein Laufzeitfehler auftritt. Hauptsächlich dann, wenn die Makros mal nicht aktiviert wurden.
Das erste Makro ist in der Arbeitsmappe angesiedelt, das zweite im Blatt.
Meine Überlegung ist nun das zweite Makro vom StartMakro aus zu aktivieren, so dass das Blatt in jedem Fall geöffnet ist.
Ich hatte diese Frage schon mal unter dem Punkt Makroprobleme in anderm Zusammenhang gepostet aber leider keine Antwort in diesem Punkt bekommen.
Vielleicht kannst Du mir da ja weiter helfen.
Einen Ausschnitt der Datei habe ich mal angehängt.
https://www.herber.de/bbs/user/31328.xls
Viele Grüße
Peter
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige