Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1576to1580
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

Probleme mit Code´s

Probleme mit Code´s
07.09.2017 18:25:51
Guesa
Nochmals ein Hallo ans Forum
Zwei Fragen an Euch
Folgendes: Nachfolgenden Code habe ich hier gefunden. Dieser müsste in soweit geändert werden, dass nur Werte eingefügt werden. Ich weiß das dies mit pastspezial funktioniert aber ich weiß nicht wo ich diesen Befehl hier einbauen muss. Wäre nett wenn Ihr mir den einfügen würdet.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim iRow As Integer, iRowL As Integer
If Target.Column  7 Then Exit Sub 'Hier wenn Spalte G größer nichts ist
If IsEmpty(Target) Then Exit Sub
iRow = Target.Row
With Worksheets("Tabelle2")
If IsEmpty(.Range("A1")) Then
iRowL = 1
Else
iRowL = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
Range(Cells(iRow, 1), Cells(iRow, 10)).Copy .Cells(iRowL, 1)
'.Columns.AutoFit
End With
End Sub
Zweite Frage. Folgenden Code habe ich gestern vom Gerd bekommen, funktioniert ja auch, nur manche Kollegen haben irgendwie Schwierigkeiten mit dem doppel klick oder auch der rechten Maus. Würde dies auch über ein normales Makro funktionieren den man dann über eine Tastenkombination startet; wenn ja Wie?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Row > 1 Then Target.Value = Target.Offset(-1, 0).Value
End Sub
Für Eure Mühe schon mal ein recht herzliches Danke schön
Gruß, Guesa

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Code´s
07.09.2017 19:15:32
KlausF
Hallo Guesa,
zu Frage 1:
probier mal
Range(Cells(iRow, 1), Cells(iRow, 10)).Copy .Cells(iRowL, 1).PasteSpecial xlPasteValues
zu Frage 2:
Sub Kopieren()
On Error Resume Next
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value
On Error GoTo 0
End Sub
Bei mir unter meinem alten Excel kann man dann unter -> Extras ->Optionen
dem Makro ein Tastaturkürzel zuweisen (bitte selber nachschauen).
Wer allerdings ein Problem mit einem Doppelklick oder der rechten
Maustaste hat wird dann wohl auch kaum ein Tastaturkürzel bedienen können ...
Gruß
Klaus
Anzeige
AW: Probleme mit Code´s
07.09.2017 19:39:22
Guesa
Hallo Klaus
Zur Frage 1: Zu Deinem Vorschlag: Das habe ich auch schon ausprobiert aber das funkt nicht, die Zeile wird direkt rot eingefärbt, auch an anderen stellen habe ich den Befehl eingefügt genau das selbe.
Zur Frage 2:
Ich kann es auch nicht nachvollziehen, aber die zippeln dann so mit der Maus rum das dann unkontrolliert ein Wert kopiert wird, mit der Tastenkombination muss dann ja ganz bewusst die zwei Tasten gedrückt werden, hoffe ich :-)
Aber , und das ist das wichtigste, Dein Code funktioniert Nochmals Danke für Deine Mühe
Gruß, Guesa
AW: Probleme mit Code´s
07.09.2017 20:47:21
KlausF
Hallo Guesa,
nochmal zu 1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column  7 Then Exit Sub 'Hier wenn Spalte G größer nichts ist
If IsEmpty(Target) Then Exit Sub
Dim iRow As Long, iRowL As Long
iRow = Target.Row
With Worksheets("Tabelle2")
If IsEmpty(.Range("A1")) Then
iRowL = 1
Else
iRowL = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
Range(Cells(iRow, 1), Cells(iRow, 10)).Copy
.Cells(iRowL, 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
'.Columns.AutoFit
End With
End Sub
Sollte jetzt eigentlich funktionieren ...
Gruß
Klaus
Anzeige
Nachtrag zu 2
07.09.2017 22:07:58
KlausF
Hallo Guesa,
noch ein Nachtrag zu Frage 2.
Man sollte noch ausschließen, dass ein schneller Finger mehrere Zellen ausgewählt hat:
Sub Kopieren()
If Selection.Cells.Count > 1 Then MsgBox "Mehr als 1 Zelle ausgewählt !": Exit Sub
On Error Resume Next
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value
On Error GoTo 0
End Sub
Gruß
Klaus
AW: Alternative zu Frage 2
07.09.2017 22:36:46
Gerd
N'Abend,
mit dem Plural der ActiveCell ist das so eine Sache.
Sub Kopieren_2()
If TypeOf Selection Is Range Then
With ActiveCell
If.Row > 1 Then .Value = .Offset(-1, 0).Value
End With
End If
End Sub
Gruß Gerd
Anzeige
AW: Alternative zu Frage 2
08.09.2017 07:05:53
Guesa
Hallo Klaus und Gerd
Danke für Eure Mühe werde ich heute direkt mal ausprobieren.
Gruß, Guesa

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige