Ich versuche, die ersten 7 Zeichen der ersten Zelle in einem Bereich als Name eines benannten Bereichs festzulegen, wenn die Zelle mit dem Wort "kit" beginnt.VBA zum Festlegen der Zelleninhalte als Name des benannten Bereichs
Hier ist, was ich bisher:
Sub DefineRanges()
Dim rngStart As Range
Set rngStart = Range("A1")
Dim LastRow As Integer
Dim RangeName As String
For Each cell In Range("A2:A7")
If LCase(Left(cell.Value, 3)) = "kit" Then
RangeName = LCase(Left(cell.Value, 7))
ActiveWorkbook.Names.Add _
Name:=RangeName, _
RefersToLocal:=Range(rngStart.Address & ":C" & cell.Row - 1)
Set rngStart = Range("A" & cell.Row)
End If
LastRow = cell.Row
Next
RangeName = LCase(Left(cell.Value, 7))
ActiveWorkbook.Names.Add _
Name:=RangeName, _
RefersToLocal:=Range(rngStart.Address & ":C" & LastRow)
End Sub
Grunde möchte ich es durch meine gesamte Strecke zu sehen, alle Zellen finden, die mit dem Wort „Kit“ beginnen, erstellen Sie einen benannten Bereich, die von diesem geht Zelle bis zur nächsten Zelle, die mit "kit" beginnt, und weisen Sie die ersten 7 Zeichen der Zelle dem Namen der Bereiche zu. Bisher bin ich in der Lage, die Bereiche zu erstellen, aber ich stoße auf Probleme, wenn ich versuche, den Inhalt der Zelle in den Bereichsnamen zu übernehmen. Irgendwelche Ideen?
welche Fehlermeldung erhalten Sie und auf der Linie? – QHarr
Es gibt mir nur eine 400 Fehlermeldung. Mein Problem scheint mit RangeName = LCase (Left (cell.Value, 7)) zu sein. Ich weiß, dass es die Variable setzt, weil ich es die Ausgabe in eine andere Zelle einfügen ließ, aber aus irgendeinem Grund lässt es mich diese Variable in den Bereichsnamen nicht übergeben – user3047983
Sie versuchen, sich außerhalb der Schleife auf "Zelle" zu beziehen, deshalb Error. –