Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1120to1124
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

Ist es Möglich nur Werte auszuschneiden?

Ist es Möglich nur Werte auszuschneiden?
alex
Hallo zusammen,
Ich arbeite immernoch an meinem Formatierungsproblem unter xl2003.
Mir ist jetzt die Idee gekommen nur Werte mit strg x auszuschneiden.
Ist sowas überhaupt möglich in VBA?
Damit gehts jedenfalls nicht:
Sub ausschneiden()
Selection.Cut xlValues
End Sub
Wäre für Hilfe sehr Dankbar
Gruß
alex
AW: Ist es Möglich nur Werte auszuschneiden?
05.12.2009 22:57:28
Josef
Hallo Alex,
nein das geht nicht, du kannst aber beim Einfügen statt ".Paste" mit ".PasteSpecial xlValues" arbeiten.
Gruß Sepp

AW: Ist es Möglich nur Werte auszuschneiden?
05.12.2009 23:44:27
alex
hi sepp.
danke für deine antwort.
Leider bekomme ich dann einen laufzeitfehler wenn ich mit strg x ausschneide und danach mit strg v einfüge(habe bereits ein makro selection.pastspecial xlvalues auf strg v gelegt).
mein ziel ist es das beim auschneiden/kopieren/autoausfüllen nicht die formatierung von meiner tabelle versaut wird.
falls du oder andere noch eine andere idee haben wäre ich sehr dankbar.
Anzeige
AW: Ist es Möglich nur Werte auszuschneiden?
05.12.2009 23:46:01
Josef
Hallo Alex,
der Fehler ist in der vierten zeile deine Code zu finden.
Gruß Sepp

AW: Ist es Möglich nur Werte auszuschneiden?
06.12.2009 00:17:43
alex
bist du sicher das du mich meinst?
AW: Ist es Möglich nur Werte auszuschneiden?
06.12.2009 00:21:34
Josef
Hallo Alex,
ja sicher, ich hab ein neues Tool mit dem ich jeden beliebigen PC ausspionieren kann.
Ich hab auch schon die Fotos deiner Freundin auf deiner Festplatte angesehen.
Spass beiseite, das war ironisch gemeint, wie soll ich wissen was in deinem Code
schiefläuft, wenn du ihn nicht zeigst?
Gruß Sepp

Anzeige
AW: Ist es Möglich nur Werte auszuschneiden?
06.12.2009 19:03:26
alex
Ich habe mich gerade echt erschreckt. Ich habe wirklich Fotos von meiner Freundin auf meiner Festplatte^^.
Meine Frage war ja nicht auf einen eventuel vorhandenen Code gestützt. Es existierte bis lang nur die Idee.
Allerdings habe ich jetzt aufgrund von Daniels Antwort einen Code geschrieben...der aber nicht funktioniert.
Vielleicht hast du ja ne idee wie ich den zum funktionieren bekomme.
AW: Ist es Möglich nur Werte auszuschneiden?
06.12.2009 21:23:52
Josef
Hallo Alex,
das würde ich so lösen.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Activate()
  Application.OnKey "^c", "'copyData ""copy""'"
  Application.OnKey "^x", "'copyData ""cut""'"
  Application.OnKey "^v", "'copyData ""insert""'"
End Sub

Private Sub Workbook_Deactivate()
  Application.OnKey "^c"
  Application.OnKey "^x"
  Application.OnKey "^v"
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private varValues As Variant

Sub copyData(Optional mode As String)
  On Error GoTo ErrExit
  If TypeName(Selection) = "Range" Then
    If mode = "copy" Then
      varValues = Selection
    ElseIf mode = "cut" Then
      varValues = Selection
      Selection.ClearContents
    ElseIf mode = "insert" Then
      If IsArray(varValues) Then
        ActiveCell.Resize(UBound(varValues, 1), UBound(varValues, 2)) = varValues
      ElseIf varValues <> "" Then
        ActiveCell = varValues
      End If
    End If
  End If
  ErrExit:
  If Err.Number <> 0 Then
    MsgBox "Kopieren/Einfügen der Daten nicht möglich!", vbExclamation, "Kopieren/Einfügen"
  End If
End Sub

Gruß Sepp

Anzeige
AW: Ist es Möglich nur Werte auszuschneiden?
08.12.2009 16:14:41
alex
Hi Sepp
Danke für deine hilfe.
Dein makro funktioniert super,
aber es fehlt der kopier/ausschneide rahmen.
geht es das man den irgendwie noch ins makro einfügt?
AW: Ist es Möglich nur Werte auszuschneiden?
08.12.2009 17:32:09
Josef
Hallo Alex,
nein, weil nichts kopiert wird gibt's auch keinen Rahmen.
Ich glaube sowieso, daß du dich da verrennst und an dein Problem ganz heran gehst.
Gruß Sepp

AW: Ist es Möglich nur Werte auszuschneiden?
09.12.2009 17:50:17
alex
wie meinst du das?
gruß
alex
AW: Ist es Möglich nur Werte auszuschneiden?
09.12.2009 22:32:50
Josef
Hallo Alex,
weil nichts kopiert wird gibt's eben auch keinen Rahmen.
und es sollte Ich glaube sowieso, daß du dich da verrennst und an dein Problem ganz falsch heran gehst. heißen.
Gruß Sepp

Anzeige
AW: Ist es Möglich nur Werte auszuschneiden?
11.12.2009 06:15:31
alex

und es sollte Ich glaube sowieso, daß du dich da verrennst und an dein Problem ganz falsch heran gehst. heißen.
Darauf bezog sich ja meine Frage^^. Wie Würdest du an diese Problem heran gehen?
Gruß
alex
AW: Ist es Möglich nur Werte auszuschneiden?
11.12.2009 15:43:14
Josef
Hallo Alex,
das kann ich nicht beurteilen, weil ich die Anforderungen deiner Datei nicht kenne.
Probier mal die Version.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Activate()
  Application.OnKey "^c", "'copyData ""copy""'"
  Application.OnKey "^x", "'copyData ""cut""'"
  Application.OnKey "^v", "'copyData ""insert""'"
End Sub

Private Sub Workbook_Deactivate()
  Application.OnKey "^c"
  Application.OnKey "^x"
  Application.OnKey "^v"
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private rng As Range
Private blnCut As Boolean

Sub copyData(Optional mode As String)
  On Error GoTo ErrExit
  If TypeName(Selection) = "Range" Then
    If mode = "copy" Then
      Set rng = Selection
      rng.Copy
      blnCut = False
    ElseIf mode = "cut" Then
      Set rng = Selection
      rng.Copy
      blnCut = True
    ElseIf mode = "insert" Then
      If Not rng Is Nothing Then
        ActiveCell.PasteSpecial xlValues
        Application.CutCopyMode = False
        If blnCut Then rng.ClearContents
      End If
    End If
  End If
  ErrExit:
  If Err.Number <> 0 Then
    MsgBox "Kopieren/Einfügen der Daten nicht möglich!", vbExclamation, "Kopieren/Einfügen"
  End If
End Sub

Gruß Sepp

Anzeige
AW: Ist es Möglich nur Werte auszuschneiden?
11.12.2009 06:16:13
alex

und es sollte Ich glaube sowieso, daß du dich da verrennst und an dein Problem ganz falsch heran gehst. heißen.
Darauf bezog sich ja meine Frage^^. Wie Würdest du an diese Problem heran gehen?
Gruß
alex
AW: Ist es Möglich nur Werte auszuschneiden?
11.12.2009 06:17:11
alex

und es sollte Ich glaube sowieso, daß du dich da verrennst und an dein Problem ganz falsch heran gehst. heißen.
Darauf bezog sich ja meine Frage^^. Wie Würdest du an diese Problem heran gehen?
Gruß
alex
AW: Ist es Möglich nur Werte auszuschneiden?
06.12.2009 10:53:07
Daniel
Hi
meines Wissen nach geht das nicht direkt, du müsstest die Daten Kopieren, Einfügen und dann an der alten Stelle die Inhalte löschen:
Range("A1:B10").Copy
Range("X10").Pastespecial xlPasteValues
Range("A1:B10").ClearContents

wenn du ausschneiden musst, weil bestimmte Zellbezüge damit automatisch mitverschoben werden sollen, dann müsstest du do vorgehen:
- alter Bereich Daten ausschneiden
- neuer Bereich Daten einfügen (Werte und Formate!)
- neuer Bereich Daten kopieren
- alter bereich Daten einfügen (Werte und Formate)
- alter Bereich Werte löschen (nicht Formate)
Gruß, Daniel
Anzeige
AW: Ist es Möglich nur Werte auszuschneiden?
06.12.2009 18:58:05
alex
Hi Daniel
deine Idee ist sehr gut. Nur müßte ich das ganze ja auf die Tastenkombination strg x legen können.
Ich habe jetzt 2 Makros geschrieben. Nur leider habe ich bei dem ausschneiden Makro das Problem das nach dem .ClearContents nichts mehr in der Zwischenablage ist zum einfügen.
strg x
Sub ausschneiden()
Selection.Copy
Selection.ClearContents
End Sub
strg v
Sub inh_einfg()
Selection.PasteSpecial Paste:=xlPasteValues
End Sub
Irgendwie muß die Makroabfolge verändert werden. Aber ich habe keine Ahnung wie.
Anzeige
AW: Ist es Möglich nur Werte auszuschneiden?
06.12.2009 19:13:24
Daniel
Hi
du müsstest die Daten in einer Array-Variable zwischenspeichern und dann einfügen:
Option Explicit
Public Daten
Sub ausschneiden()
Daten = Selection.Value2
Selection.ClearContents
End Sub
Sub inh_einfg()
Selection.Resize(UBound(Daten, 1), UBound(Daten, 2)).Value2 = Daten
End Sub
das Array zum Speichern der Daten muss außerhalb definiert werden, so daß es für beide Makros gülitig ist.
Gruß, daniel
AW: Ist es Möglich nur Werte auszuschneiden?
06.12.2009 19:36:50
alex
Ich hab auch ne ganz gute idee gefunden. allerdings weiß ich nicht welche zahlen ich für strg v bei Getkeystate eingeben muß.
Declare

Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Sub ausschneiden()
Selection.Copy
Do
If GetKeyState(?) 

Sub inh_einfg()
Selection.PasteSpecial Paste:=xlPasteValues
End Sub

Anzeige
AW: Ist es Möglich nur Werte auszuschneiden?
06.12.2009 21:31:07
alex
ich habe das makro jetzt so geschrieben wie Daniel es vorgeschlagen hat. Mit einem wert funktioniert es schonmal. aber Es geht leider nicht mehrere Zellen gleichzeitig auszuschneiden.
Public Daten
Sub ausschneiden()
Daten = Selection
Selection.ClearContents
End Sub

Sub inh_einfg()
On Error Resume Next
If Daten = "" Then
Selection.PasteSpecial Paste:=xlPasteValues
Else
Selection = Daten
End If
Daten = ""
End Sub

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige