Herbers Excel-Forum - das Archiv

Code Zwischenablage

Bild

Betrifft: Code Zwischenablage
von: PeterS

Geschrieben am: 09.03.2005 13:23:55
Hallo,
mit diesem Code füge ich Werte aus der Zwischenablage ein.
Kann mir jemand sagen wie ich diesen Code erweitern kann
das nach dem einfügen die Zwischenablage wieder geleert wird.

Sub Einfuegen()
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub

Gruss
PeterS
Bild

Betrifft: AW: Code Zwischenablage
von: WernerB.

Geschrieben am: 09.03.2005 13:40:16
Hallo Peter,
das geht mit:
Application.CutCopyMode = False
Übrigens: Wenn Du den Kopiervorgang mit dem Makrorecorder aufzeichnest und abschließend die Esc-Taste drückst, dann bekommst Du dieses Ergebnis auch ...

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Bild

Betrifft: AW: Code Zwischenablage
von: PeterS

Geschrieben am: 09.03.2005 14:01:53
Hallo Werner,
funktioniert einwandfrei, kann man diesen Laufzeitfehler
der beim versehentlichen nochmaligen einfügen deaktivieren.

Kannst Du mir noch zeigen wie ich diesen Code
kürzen kann.
Sub Ausblenden()
Sheets("LAP1").Select
Range("C9:F100").Select
Selection.EntireColumn.Hidden = True
Sheets("LAP2").Select
Range("C9:F100").Select
Selection.EntireColumn.Hidden = True
Sheets("LAP3").Select
Range("C9:F100").Select
Selection.EntireColumn.Hidden = True
MsgBox ("Spalten wurden ausgeblendet")
End Sub

Danke
PeterS
Bild

Betrifft: AW: Code Zwischenablage
von: WernerB.

Geschrieben am: 09.03.2005 14:24:40
Hallo Peter,
vielen Dank für die Rückmeldung.
Deine erste Frage habe ich leider nicht verstanden; kannst Du sie nochmal neu formulieren?
Zur zweiten Frage folgender Vorschlag:
Sub Ausblenden()
Dim i As Byte
For i = 1 To 3
Sheets("LAP" & i).Columns("C:F").EntireColumn.Hidden = True
Next i
MsgBox "Spalten wurden ausgeblendet !", vbInformation, _
"Dezenter Hinweis für " & Application.UserName & ":"
End Sub

Gruß
WernerB.
Bild

Betrifft: AW: Code Zwischenablage
von: PeterS

Geschrieben am: 09.03.2005 14:54:47
Hallo Werner,
danke klappt prima,
zu der ersten Frage:
Wenn ich einen Bereich aus einem Tabellenblatt in die Zwischenablage
kopiere und den an anderer Stelle über den Code einfüge funktioniert
das wunderbar, wenn ich aber versehentlich nocheinmal auf die Schaltfläche
drücke kommt ein "Laufzeitfehler 1004"
"Die PasteSpecial-Methode des Range-Objektes konnte nicht ausgeführt werden."
Kann dies deaktiviert werden.
Gruss
Peter
Bild

Betrifft: AW: Code Zwischenablage
von: PeterS

Geschrieben am: 09.03.2005 15:14:10
Hallo Peter,
doch noch eins,
die Blätter sind nicht nur durchnummeriert mit Lap1 / Lap2 usw.
sondern haben auch unterschiedliche Namen.
Ausgeblendet sollten die Spalten werden ab Tabellenblatt 7.

Sub Ausblenden()
Dim i As Byte
For i = 1 To 3
Sheets("LAP" & i).Columns("C:F").EntireColumn.Hidden = True
Next i
MsgBox "Spalten wurden ausgeblendet !", vbInformation, _
"Dezenter Hinweis für " & Application.UserName & ":"
End Sub

Danke
Peter
Bild

Betrifft: AW: Code Zwischenablage
von: PeterS
Geschrieben am: 09.03.2005 15:20:51
Kommando zurück,
das mit den verschiedenen Tabellenblattnamen habe ich hinbekommen.
Gruss
Peter
Bild

Betrifft: AW: Code Zwischenablage
von: WernerB.

Geschrieben am: 09.03.2005 15:45:01
Hallo Peter,
versuche es mal mit einer Fehlerbehandlung:
Sub Einfuegen()
On Error GoTo ErrorHandler
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Exit Sub
ErrorHandler:
MsgBox "Der Zwischenspeicher ist leer !", vbCritical, _
"Dezenter Hinweis für " & Application.UserName & ":"
End Sub

Gruß
WernerB.
Bild

Betrifft: AW: Code Zwischenablage
von: PeterS

Geschrieben am: 09.03.2005 16:33:49
Hallo Werner,
so reicht es vollkommen aus, alles läuft so wie ich es mir gedacht habe.
Rechtherzlichen Dank für deine ausführliche Hilfe
einen schönen Abend wünscht Dir
Peter
 Bild
Excel-Beispiele zum Thema "Code Zwischenablage"
Gefilterte Daten ohne Zwischenablage übertragen Variable in Zwischenablage übernehmen
Werte aus UserForm-ListBox in die Zwischenablage übernehmen Prüfung, ob die Zwischenablage leer ist
Auslesen der aktuell in der Zwischenablage vorhandenen Formate Wert in Zwischenablage suchen