2017-12-12 2 views
1

Ich versuche eine Lösung zu finden, wenn ein Benutzer eine neue Zeile in eine Liste einfügt, auf die verwiesen wird, um automatisch mehrere Zeilen in einer separaten Liste aufzufüllen. Der Teil auf der rechten Seite sollte autopopulieren, wenn Benutzer zusätzliche Zeilen auf der linken Seite hinzufügen (z. B. Anlagennummern). Darüber hinaus wiederholen sich das Asset-Attribut und der Asset-Wert und sind für jede neue Asset-Nummer identisch. Irgendwelche Gedanken? Before and afterVerweis auf einen unbekannten Wert zum automatischen Ausfüllen neuer Zeilen

(Dies ist meine erste Frage so hoffentlich ich es richtig mache! Vielen Dank für Ihr Verständnis und Ihre Geduld!)

Antwort

0

Sie sollen das Workbook_SheetChange Ereignis nachschlagen. Wenn eine Änderung in einem Arbeitsblatt vorgenommen wird, wird es jeden Code ausführen, der in es platziert wird. Sie können innerhalb dieser Funktion festlegen, dass nur ein bestimmter Bereich rechts aktualisiert wird, wenn eine Änderung innerhalb eines bestimmten Bereichs auf der linken Seite auftritt.

0

In dem Blatt mit den Daten (hier wird es Blatt genannt Target - Änderung entsprechend) haben den folgenden Code:

Private Sub Worksheet_Change(ByVal Target As Range) 

    If Not IsEmpty(Target) And Target.Column = 1 And Target.Row > 1 Then 

     Dim wb As Workbook 
     Dim ws As Worksheet 

     Set wb = ThisWorkbook 
     Set ws = wb.Worksheets("Target") 

     Dim lastSourceRow As Long 
     Dim lastTargetRow As Long 

     lastSourceRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row 
     NextTargetRow = ws.Cells(ws.Rows.Count, "D").End(xlUp).Row + 1 

     With ws.Cells(NextTargetRow, "D") 

      .Resize(3, 1).Value = ws.Cells(lastSourceRow, "A") 
      .Offset(, 1) = "Blue" 
      .Offset(, 2) = "45" 
      .Offset(1, 1) = "Big" 
      .Offset(1, 2) = "20" 
      .Offset(2, 1) = "Cold" 
      .Offset(2, 2) = "5" 

     End With 

    End If 

End Sub 
Verwandte Themen