Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
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

Ohne Worksheet_Change Ereignis

Ohne Worksheet_Change Ereignis
29.08.2008 12:48:33
Josef
Hallo!
mit folgendem Code wurden bei der Eingabe an der nächsten freien Zelle in der Spalte A die Formeln aus der vorigen Zeile in die freien Zellen der Spalten 51 bis 61 kopiert.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long
Dim TB3
Set TB3 = Workbooks("Stellenpläne.xls").Sheets("Tabelle1")
If Target.Column = 1 And Target.Row > 2 Then
If Target.Count = 1 Then
r = Target.Row - 1
Application.EnableEvents = False
On Error GoTo ERRH
Range(Cells(r, 52), Cells(r, 61)).Copy _
Range(Cells(r + 1, 52), Cells(r + 1, 61))
End If
End If
ERRH:
Application.EnableEvents = True
End Sub


Ich möchte den Code jedoch nicht über das Worksheet_Change Ereignis ablaufen lassen, sondern mittels CommandButton.
Wie und wo müßte man bitte den Code hier verändern?
Danke
Josef

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

Betreff
Datum
Anwender
Anzeige
AW: Ohne Worksheet_Change Ereignis
29.08.2008 12:53:35
Dani
Wenn du einen CommandButton auf dein Arbeitsblatt ziehst und ihn anklickst wird automatisch die Subroutine Private Sub CommandButton1_Click() erzeugt. Hier kannst du deinen Code hineinkopieren das sieht dann so aus:

Private Sub CommandButton1_Click()
Dim r As Long
Dim TB3
Set TB3 = Workbooks("Stellenpläne.xls").Sheets("Tabelle1")
If Target.Column = 1 And Target.Row > 2 Then
If Target.Count = 1 Then
r = Target.Row - 1
Application.EnableEvents = False
On Error GoTo ERRH
Range(Cells(r, 52), Cells(r, 61)).Copy _
Range(Cells(r + 1, 52), Cells(r + 1, 61))
End If
End If
ERRH:
Application.EnableEvents = True
End Sub


Gruss
Dani

Anzeige
AW: Ohne Worksheet_Change Ereignis
29.08.2008 13:01:59
Josef
Hallo Dani!
Ich wollte jetzt den code über einen CB in einer Userform starten und bekamm die Fehlermeldung "Objekt fehlt bei
If Target.Column = 1 And Target.Row > 2 Then
josef
AW: Ohne Worksheet_Change Ereignis
29.08.2008 13:12:00
Rudi
Hallo,
ersetze mal Target durch Selection.
Gruß
Rudi
AW: Ohne Worksheet_Change Ereignis
29.08.2008 13:12:00
Petra
Hi josef

If Activecell.Column = 1 And Activecell.Row > 2 Then


Gruß Petra

AW: Ohne Worksheet_Change Ereignis
29.08.2008 13:13:08
Luschi
Hallo Dani,
und was ist jetzt bitteschön Target. Bei der Ereignisroutine wird dieser Parameter übergeben,
aber hier gibt es keinen solchen Parameter. So sollte schon eher ein Schuh draus werden
(statt Target wird jetzt die aktive Zelle im Tabellenblatt genommen):

Private Sub CommandButton1_Click()
Dim r As Long
Dim TB3 As Worksheet
If Selection.Count > 1 Then
Exit Sub
End If
If ActiveCell.Column = 1 And ActiveCell.Row > 2 Then
Set TB3 = Workbooks("Stellenpläne.xls").Sheets("Tabelle1")
r = ActiveCell.Row - 1
Application.EnableEvents = False
On Error GoTo ERRH
Range(Cells(r, 52), Cells(r, 61)).Copy _
Range(Cells(r + 1, 52), Cells(r + 1, 61))
End If
ERRH:
Application.EnableEvents = True
End Sub

Gruß von Luschi
aus klein-Paris

Anzeige
AW: Ohne Worksheet_Change Ereignis
29.08.2008 15:28:35
Josef
Hallo!
Danke für eure Antworten.
Habe jetzt zu Hause eine musterdatei zusammengebaut.
https://www.herber.de/bbs/user/55025.xls
Das ganze funktioniert,wenn in der Spalte A die letzte Zelle markiert ist.
Ginge bitte das Ganze auch, wenn unabhängig von der Spalte A die werte eingetragen werden sollen ?
Danke
Josef

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige