Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Übertrag in eine andere Tabelle wenn Bedingung ok

Betrifft: Übertrag in eine andere Tabelle wenn Bedingung ok von: Jens
Geschrieben am: 24.11.2014 08:23:39

Hallo zusammen, ich hab ein kleines problem mit einem code. ich hab ein kleines Tool geschrieben. Über ein UserForum wird eine Eingabe getätigt. In Spalte 76 wird ein "x" gesetzt wenn das projekt geschlossen wird. Wenn ich das x Manuell in die tabelle eintrage und dann enter drücke. wird das projekt aus der tabelle in eine andere kopiert und dann in der alten tabelle gelöscht. dies soll jedoch automatisch gemacht warden wenn das x durch das Userforum eingetragen wird. Anfangs hat dies auch funktioniert wie es gedacht war, aber seid ein paar änderungen leider nicht mehr. Kann mir jemand helfen?

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim TRow As Integer
 TRow = Target.Row

 If Target.Column = 76 Then
     If Target = "x" Then
         Sheets("Main sheet").Rows(TRow).copy
         Sheets("Closed Projects").Cells(Sheets("Closed Projects").Cells(Rows.Count, 2).End( _
xlUp).Offset(1, 0).Row, 1).PasteSpecial
         Sheets("Main sheet").Rows(TRow).Delete Shift:=xlUp
         End If
        End If
        End Sub

Gruß Jens

  

Betrifft: AW: Übertrag in eine andere Tabelle wenn Bedingung ok von: Werner
Geschrieben am: 29.11.2014 20:27:03

Hallo Jens,

ich habe mal ein wenig herumprobiert und ein Makro für das Worksheet - Calculate - Ereignis geschrieben. Das Problem ist, dass ein Eintrag in die Tabelle über eine Textbox wohl das Calculate - Ereignis nicht auslöst. So scheint es auch nicht zu gehen.
Ich habe es dann über einen Umweg geschafft. Ich nehme mal an, dass du in deiner Userform einen Commandbutton hast mit dem das X in die Tabelle geschrieben wird. Nachdem in deinem Code das X in die Tabelle geschrieben wird mit SendKeys die "Enter Taste" simulieren. So hat es bei mir funktioniert.

In dem angefügten Code habe ich nur mal kurz was geschrieben für die Zelle (6, 76). Probier es mal aus.

Private Sub CommandButton1_Click()
With Worksheets("Main sheet")
Cells(6, 76).Value = TextBox1.Value
Application.SendKeys ("{enter}")
End With
End Sub
Übrigens solltes du auch das große X in deinen Code aufnehmen. So wie du es hast regiert das Makro nicht, wenn du versehentlich ein großes X in die Textbox schreibst.
If Target = "x" or Target = "X" then
Gruß Werner


  

Betrifft: AW: Übertrag in eine andere Tabelle wen von: Jens
Geschrieben am: 03.12.2014 08:04:46

Hallo Werner,
hallo Zusammen,

leider funktioniert das bei mir nicht! Ich möchte folgendes durch einen Makro ausführen lassen. Ich habe eine Tabelle in der Projekte stehen mit sämtlichen informationen. Wird das Projekt geschlossen wird in spalte 76 des jeweiligen Projekts ein x gesetzt. Das x wird durch eine checkbox im Userform in die spalte 76 eingetragen. Ist das x vorhanden soll das Projekt in das Sheet "Closed Projects" kopiert werden und im "Main sheet" gelöscht werden. Bis vor kurzem hab ich das mit folgendem Makro gemacht der völlig automatisch gelaufen ist.

Vielleicht kann mir jemand weiterhelfen?

Gruß Jens

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim TRow As Integer
 TRow = Target.Row

 If Target.Column = 76 Then
     If Target = "x" Then
         Sheets("Main sheet").Rows(TRow).copy
         Sheets("Closed Projects").Cells(Sheets("Closed Projects").Cells(Rows.Count, 2).End( _
xlUp).Offset(1, 0).Row, 1).PasteSpecial
         Sheets("Main sheet").Rows(TRow).Delete Shift:=xlUp
         End If
        End If
        End Sub



 

Beiträge aus den Excel-Beispielen zum Thema "Übertrag in eine andere Tabelle wenn Bedingung ok"