2017-02-21 4 views
1

Ich habe derzeit meinen Code nach unten auf eine Spalte in einem bestimmten Arbeitsblatt für einen bestimmten Wert in einer Zelle. Wenn der Wert in einer Zelle gefunden wird, verwendet er diese Zelle als Ankerposition für den Rest der Subroutine. Hier ist der relevante Code.Excel VBA - Verwenden von Bereichsvariable zum dynamischen Festlegen des Bereichs eine festgelegte Anzahl von Zellen

With DailyWS 
    Set DailyTable = .Range("C7:Q21") 
    Set Week = .Range("F4") 
End With 'DailyWS 

Set rngY = BackupWS.Range("B1:B10000").Find(Replace(Week.Value, " Week", ""), lookat:=xlPart) 

If rngY Is Nothing Then 
    Set rngY = BackupWS.Range("B1").Offset(LastRow, 0) 
End If 

With BackupWS 
    Set BackupTable = rngY.Offset(0, 2) 
End With 'BackupWS 

Ich brauche die Informationen im DailyTable Bereich zu übernehmen und kopieren Sie sie in den BackupTable Bereich. Wie es derzeit codiert ist, kopiert es nur eine Zelle, weil nur eine Zelle zurückgibt [für andere Teile des Unterprogramms benötige ich noch rngY, um diese eine Zelle zu sein].

Also ich brauche es für kopieren DailyTable ab der rngY Zelle. Zum Beispiel, wenn als C1 zurückgibt, dann müsste ich BackupTable auf den Bereich C1: Q15 setzen und dann den .Offset(LastRow, 0) dazu ausführen.

Ich bin mir nicht sicher, wie man das erfolgreich manipuliert, um das zu tun. Wenn Sie eine Klarstellung benötigen, fragen Sie bitte.

Antwort

2

aus Ihrer Anfrage:

wenn rngY als C1 zurückkehrt, dann würde ich brauche BackupTable einstellen C1 auf einen Bereich: Q15 dann die .Offset (LastRow, 0) an, dass zuführen.

Änderung:

If rngY Is Nothing Then 
    Set rngY = BackupWS.Range("B1").Offset(LastRow, 0) 
End If 

With BackupWS 
    Set BackupTable = rngY.Offset(0, 2) 
End With 'BackupWS 

zu:

With BackupWS 
    Set rngY = .Range("B1:B10000").Find(Replace(Week.Value, " Week", ""), lookat:=xlPart) 

    If rngY Is Nothing Then Set rngY = .Range("B1").Offset(LastRow, 0) 

    Set BackupTable = .Range(rngY, .Range("Q15")).Offset(LastRow, 0) 
End With 'BackupWS 

aber Sie können mehr Details zu Ihrem eigentlichen Ziel

+0

Perfekt hinzuzufügen! Ich war in der Lage, die Anpassungen zu machen, die Sie vorgenommen haben, um es genau so zu machen, wie ich es wollte. Vielen Dank! – BetaOp9

+0

Gern geschehen – user3598756

Verwandte Themen