Ich habe eine Tabelle in Abschnitte unterteilt und für jeden Abschnitt gibt es eine "Neue Zeile hinzufügen", wo es zu den vorhandenen Zeilen in diesem Abschnitt hinzugefügt wird.Hinzufügen einer neuen Zeile zu einer Auswahl von Zeilen in einem Abschnitt vba
Ich habe in der CurrentRegion-Funktion versucht, die Zeilen zu zählen, aber bei der Auswahl der letzten Zeile fest und dann fügen Sie eine darunter.
Der Code so weit ist, wo ich in der Lage bin eine neue Zeile hinzufügen, aber ich bin auf der Suche nach einer sauberen präzisen Lösung mit Current für jeden Abschnitt -. Dies mit dem sBudgetLine Parameter durchgeführt werden kann, die in übergeben wird
Sub AddNewAllocToSpendLine(sBudgetLine As String, Optional sSheetName As String = c_Alloc2SpendSheetName)
'Adds new line to the list of allocated to spend
Dim c As Range
Dim s As String
Worksheets(sSheetName).Activate
'get the budget line position
Set c = Worksheets(sSheetName).Range("A:A").Find(sBudgetLine, LookIn:=xlValues)
If Not (c Is Nothing) Then
s = Trim(str(c.Row))
Range("B" & Trim(str(c.Row))).Select
Selection.End(xlDown).Select
If Selection.Value = "Period" Then
s = Trim(str(Selection.Row + 2))
Else
s = Trim(str(Selection.Row + 1))
End If
s = s & ":" & s
Rows(s).Select
Selection.Insert Shift:=xlDown
s = Trim(str(Selection.Row))
Range("E10").Copy
Cells(Selection.Row, 5).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A" & Trim(str(c.Row))).Select
End If
End Sub
Ok, danke. Aber würde es keine Möglichkeit geben, CurrentRegion dem Befehl .Rows (lastRow + 2) zuzuweisen. Geben Sie Shift: = xlDown ein, um die Liste der Zeilen in dem Abschnitt zu zählen, da sie ein zufälliger Betrag sein werden. – user3565164
Ich bin mir nicht sicher, ob ich verstehe, was du meinst. 'lastRow = .Cells (c.Row, 2) .End (xlDown) .Row 'kümmert sich um eine variable Anzahl von Zeilen. Ich sehe keinen Grund, die Anzahl der Zeilen in der aktuellen Region zu zählen, da Sie nur am Ende der Region interessiert sind. – arcadeprecinct
Ja, aber es bedeutet, dass wenn Sie eine neue Zeile hinzufügen, wird immer unter den 2 übersprungenen Zeilen (Titel, Spaltentitel) hinzugefügt, unabhängig davon, ob eine Anzahl von Zeilen bereits in der Sektion ist. – user3565164