Ciao a tutti,
Im Register "DatabaseItinerario" werden alle meine Lektionen, welche ich im Register "FormularioItinerario" ausfülle, abgespeichert. Und zwar bekommt jede Lektion eine Zufallsnummer (in der Zelle "A2"). Nun passierts regelmässig, dass ich einzelne Lektionen abändern/anpassen muss. Ich wähle also im "FormularioItinerario" in "A2" die Zufallsnummer der entsprechenden Lektion aus und die Lektion erscheint erneut im "FormularioItinerario" und kann dann diese Lektion bearbeiten. (Das funktioniert mit dem Change-Ereignis.)
Desweitern habe ich ein weiteres Change-Ereignis im Code verschachtelt: Im Register "FormularioItinerario" in der Zeile 7 und 13 sind bereits Change-Ereignisse aktiv. Dort sollten nach einem Wechsel des Inhaltes, die nachfolgende Zellen der Zeilen 8 und 14 automatisch angepasst werden.
Mein Problem: Irgendwie schaffe ich es nicht die beiden Change-Ereignis gemeinsam zum Funktionieren zu bringen.
Entweder kann ich mit einer Auswahl in der Zelle "A2" die Daten der Datenbank "DatabaseItinerario" aufrufen, oder aber die Zellen der Zeile 8 und 14 werden automatisch, durch das Verändern der Zeile 7 und 13 ausgefüllt.
Es scheint mir, dass ich relativ nahe an der Lösung bin, komme jedoch nicht drauf.
Grazie Berni
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDV As Range
Dim wertold As String
Dim wertnew As String
Dim Bereich1 As Range
Dim Bereich2 As Range
Dim Bereich3 As Range
Dim GesamtBereich As Range
Dim Zeile As Integer
Dim ActivCol As Integer
Dim ActivRow As Integer
Dim ColSitMot As Integer
Dim i As Integer
Dim k As Integer
Dim y As Integer
Dim Z As Integer
Set Bereich1 = Range("C7:J7")
Set Bereich2 = Range("C13:J13")
Set Bereich3 = Range("A2")
Set GesamtBereich = Union(Bereich1, Bereich2, Bereich3)
ActivCol = ActiveCell.Column
ActivRow = ActiveCell.Row
If Not Application.Intersect(GesamtBereich, Target) Is Nothing Then
Application.EnableEvents = False 'damit wird das Change-Ereignis deaktiviert
'Auswahl eines Itinerario um dieses zu modifizieren
y = 2 'Info Itinerario inizia nella colonna 2
Z = 13 'SitMot inizia nella colonna 13
ColSitMot = 3
For Zeile = 3 To 200
'Automatisches Ausfüllen der Zellen 8 un 14, nachdem die Zellen 7 und 13 ausgewählt wurden
If Worksheets("Giochi").Range("A" & Zeile).Value = ActiveCell.Value Then
Cells(ActivRow + 1, ActivCol) = Worksheets("Giochi").Cells(Zeile, 2).Value
'Aufrufen der Lektionen, um diese zu modifizieren
If Worksheets("DatabaseItinerario").Range("A" & Zeile).Value = Worksheets("FormularioItinerario").Range("A2").Value Then
'Riempire Ciclo - Competenze Trasversali
For k = 12 To 22
Worksheets("FormularioItinerario").Cells(k, ColSitMot) = Worksheets("DatabaseItinerario").Cells(Zeile, y).Value
y = y + 1
Next k
'Riempire 8 Situazioni Motorie
For ColSitMot = 3 To 10 'Anzahl Spalten Situazioni Motorie (8)
For k = 2 To 11 'SitMot da riempire sono 11 righe
Worksheets("FormularioItinerario").Cells(k, ColSitMot) = Worksheets("DatabaseItinerario").Cells(Zeile, Z).Value
Z = Z + 1
Next k
Next ColSitMot
End If
End If
Next Zeile
End If
Errorhandling:
Application.EnableEvents = True
End Sub
|