
Bei den meisten Lösungen, die ich gegoogelt habe, ging es entweder darum, die erste leere Spalte oder die erste leere Zeile zu finden, aber ich muss speziell die erste leere Spalte in einem Zeilenbereich finden.
Ich muss etwas aus einer Arbeitsmappe in eine andere Arbeitsmappe einfügen, aber zuerst muss ich die erste leere Spalte in einem Zeilenbereich von (100:114) finden.
Ich könnte posten, was ich bisher habe, aber es funktioniert bei weitem nicht.
Antwort1
Meine VBA-Kenntnisse sind also völlig eingerostet, aber wenn Sie sich Tom Urtis Beitrag aufVorgehensweise: Auswählen eines BereichsWenn Sie im Microsoft Developers Network einen Datenbereich mit unbekanntem Startort auswählen, finden Sie dort die erforderlichen Objekte und Methoden, die Sie benötigen, um eine Lösung für Ihr Vorhaben zu erarbeiten. Unten finden Sie einen Nachdruck des Codes von diesem Link:
Sub UnknownRange()
If WorksheetFunction.CountA(Cells) = 0 Then
MsgBox "There is no range to be selected.", , "No cells contain any values."
Exit Sub
Else
Dim FirstRow&, FirstCol&, LastRow&, LastCol&
Dim myUsedRange As Range
FirstRow = Cells.Find(What:="*", SearchDirection:=xlNext, SearchOrder:=xlByRows).Row
On Error Resume Next
FirstCol = Cells.Find(What:="*", SearchDirection:=xlNext, SearchOrder:=xlByColumns).Column
If Err.Number <> 0 Then
Err.Clear
MsgBox _
"There are horizontally merged cells on the sheet" & vbCrLf & _
"that should be removed in order to locate the range.", 64, "Please unmerge all cells."
Exit Sub
End If
LastRow = Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
LastCol = Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByColumns).Column
Set myUsedRange = Range(Cells(FirstRow, FirstCol), Cells(LastRow, LastCol))
myUsedRange.Select
MsgBox "The data range on this worksheet is " & myUsedRange.Address(0, 0) & ".", 64, "Range address:"
End If
End Sub