Resize standardno počinje od gornjeg levog ugla opsega, tj, uzima kolone sa leve strane opsega. Ako treba uzeti sa desne pomeriš početak opsega (gornji levi ugao) sa offset za pogodan broj kolona i onda uzmeš sledeće 4
Code:
Sub TestResize()
' Primer za Resize
' Nakon sto se izabere opseg formira novi
' opseg na tri nacina
' 1- uzima cetiri kolone sa levestrane opsega
' 2- uzima cetiri kolone sa desne strane opsega
' 3- uzima cetiri kolone na levo od pocetka opsega
'
' JPeca za elitesecurity.org
Dim rng As Range, rngR As Range ' pocetni i opseg posle resize
Const N As Integer = 4 ' Broj kolona koji se uzima iz opsega
' Zadavanje opsega
Set rng = Application.InputBox(prompt:="Izaberi opseg", Type:=8)
Set rngR = rng.Resize(ColumnSize:=N) ' Resize sa leva
MsgBox "Oblast posle Resize sa leve " & rngR.Address
' Resize sa desne strane
Set rngR = rng.Offset(ColumnOffset:=rng.Columns.Count - N).Resize(ColumnSize:=N) ' Resize sa desna
MsgBox "Oblast posle Resize sa desna " & rngR.Address
' Resize na levo od
If rng.Column < 5 Then
MsgBox "Neisparvan opsega za resize nalevo"
Else
Set rngR = rng.Offset(ColumnOffset:=-N).Resize(ColumnSize:=N) ' Resize nalevo
MsgBox "Oblast posle Resize nalevo " & rngR.Address
End If
End Sub
Nije to loše Rembrante, samo što ne bi dodao još malo boje?