Riek هنگام توسعه یک ماکرو که صفحه را برای ورودی کاربر تنظیم می کند، با مشکل مواجه شد. ستون های A:G همیشه باید روی صفحه بمانند، بنابراین ماکرو او آن ستون ها را ثابت می کند. سپس دستوری برای انتقال به ستون Z برای شروع ورودی صادر می کند. این ستون های T:Z را در سمت راست ستون های ثابت A:G قرار می دهد. چیزی که Riek واقعا می خواهد این است که ستون های Z:AF در سمت راست A:G ظاهر شوند، اما او نمی داند چگونه این کار را انجام دهد.
راه های مختلفی وجود دارد که می توان به نتایج مطلوب دست یافت. اولین مورد این است که به سادگی از هدف مورد نظر عبور کنید و سپس به آن برگردید، مانند ماکرو زیر:
Sub GotoCol1()
With Application
ActiveWindow.FreezePanes = False
Range("H1").Select
ActiveWindow.FreezePanes = True
.Goto Range("IV1")
.Goto Range("Z1")
End With
End Sub
خطوط کد مهم آنهایی هستند که از متد Goto استفاده می کنند. اولین پرش به آخرین سلول ردیف اول است و پرش دوم به سمت هدف واقعی یعنی Z1 برمی گردد. با حرکت به این ترتیب، ستون Z درست به سمت راست محدوده یخ زده، A:G ختم می شود.
در حالی که این به خوبی کار می کند، راه حل بهتر استفاده از پارامتر Scroll با متد Goto است. به مثال زیر توجه کنید:
Sub GotoCol2()
ActiveWindow.FreezePanes = False
Range("H1").Select
ActiveWindow.FreezePanes = True
Application.Goto Reference:=Range("Z1"), Scroll:=True
End Sub
پارامتر Scroll با روش Goto اختیاری است. پیش فرض آن False است. اگر آن را روی True تنظیم کنید، سپس Goto از طریق پنجره پیمایش می کند تا گوشه سمت چپ بالای محدوده هدف (Z1) در گوشه سمت چپ بالای پنجره ظاهر شود.