betrachten das folgende Beispiel, um autofill:Macro N Anzahl von Zellen (Zeilen/Spalten) basierend auf einem Wert in einem anderen Blatt
Man bedenke, dass ich in dem „Blatt 1“ die Tabelle habe mit die Spalten Land und Essen mit seinen Werten.
In Blatt 2 habe ich zwei Spalten namens Country # 1 und Food # 1. Das Makro, das ich bereits habe (Kredite an @ sktneer), muss die Nahrungsmittel # 1 Zelle, die mit dem richtigen Text in der Zelle des Landes # 1 verbunden ist, über die Auswahlliste automatisch füllen.
Beispiel: Wenn ich in Land # 1 "Madrid" wähle, muss das Essen # 1 mit dem Text "Tapas und Tortillas" automatisch ausgefüllt werden.
Der Code hierfür lautet:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
Dim wsSource As Worksheet
Dim r As Long
Set wsSource = Sheets("Sheet1") 'Source sheet which contains a table of countries and their food
If Target.Column = 1 And Target.Row > 1 Then
If Application.CountIf(wsSource.Columns(1), Target.Value) > 0 Then
Application.EnableEvents = False
r = Application.Match(Target.Value, wsSource.Columns(1), 0)
Target.Offset(0, 1) = wsSource.Cells(r, 2)
Application.EnableEvents = True
End If
End If
End Sub
Meine Frage ist: Kann dieser Code auf eine größere Anzahl von Spalten skaliert werden, für die genau das gleiche Problem?
Hier ist eine Vorschau eines Beispiels:
Sorry, wenn diese Frage umfangreich ist, aber mein Ziel hier ist es, beide Codes vergleichen (die ich habe und dieses Beispiel), zu lernen, wie auf N Zeilenanzahl und N Spaltenanzahl skalieren.
Mit freundlichen Grüßen, Luís
Die kurze Antwort ist - ja, leicht. Ihr Hinweis, dies selbst herausfinden zu können, ist bereits im Code-Typ - "Target.Offset (0, 1) = wsSource.Cells (r, 2)". Technisch haben Sie nur Code aus einer anderen Frage und haben nicht versucht, dies für sich selbst zu tun. Zum größten Teil gab ich dir die Antwort, du musst nur verstehen, was es tut. Sobald Sie verstehen, dass Sie Ihre Antwort haben werden. –