Přejít na hlavní obsah

Jak změním polohu formuláře VBA Excel na obrazovce?

  • Radovan Horváthová
  • Tipy

Formuláře VBA Excel - je důležitou součástí vývojářského nástroje Maker a aplikací v Excelu. Schopnost ovládat polohu tvarů na obrazovce je jedním z důležitých aspektů při navrhování uživatelského rozhraní. Přestože tvary VBA Excel mají svou původní velikost a umístění, vývojáři mají k dispozici nástroje pro regulaci této polohy.

Ke změně polohy formuláře VBA Excel na obrazovce lze použít metody dostupné v objektu formuláře. Lze například použít vlastnost Left pro nastavení horizontální polohy tvaru vzhledem k levému okraji obrazovky a vlastnost Top - pro nastavení svislé polohy vzhledem k horní hraně obrazovky.

UserForm1.Left = 500

UserForm1.Top = 300

End Sub

V tomto příkladu nastavíme polohu tvaru UserForm1 na obrazovce, posunutím vodorovně o 500 pixelů od levého okraje obrazovky a svisle o 300 pixelů od horního okraje obrazovky.

Správa polohy formuláře VBA Excel tak umožňuje vytvořit uživatelsky přívětivější a intuitivnější uživatelské rozhraní, které splňuje požadavky konkrétního projektu.

Jak změním pozici formuláře VBA Excel na obrazovce?

VBA Excel má možnost změnit pozici formuláře tak, aby se zobrazoval na správném místě na obrazovce. K tomu lze použít vlastnost left a Top .

Vlastnost Left určuje vzdálenost od levého okraje obrazovky k levému okraji tvaru a vlastnost Top je vzdálenost od horního okraje obrazovky k hornímu okraji tvaru.

Chcete-li například přesunout tvar VBA Excel do levého horního rohu obrazovky, můžete nastavit vlastnosti Left a Top na hodnoty 0:

Private Sub UserForm_Activate()Me.Left = 0Me.Top = 0End Sub

Pro přesnější umístění tvaru lze použít souřadnice měřené v pixelech.

Při změně polohy formuláře věnujte pozornost tomu, že některé souřadnice mohou přesahovat viditelnou oblast obrazovky. V takovém případě můžete použít metodu WindowState ke změně stavu formuláře. Můžete například před změnou pozice srolovat tvar a poté jej otočit zpět:

Private Sub UserForm_Activate()Me.WindowState = xlMinimizedMe.Left = 0Me.Top = 0Me.WindowState = xlNormalEnd Sub

Tímto způsobem můžete snadno změnit pozici formuláře VBA Excel na obrazovce tak, aby se zobrazovala na správném místě pro pohodlnější uživatelský zážitek.

Možnosti polohování formuláře

V aplikaci VBA Excel můžete změnit polohu formuláře na obrazovce zadáním příslušných možností umístění. Níže jsou uvedeny základní parametry, které lze použít:

  • Top: určuje svislou pozici horního okraje tvaru vzhledem k horní hraně obrazovky.
  • Left : určuje horizontální polohu levého okraje tvaru vzhledem k levému okraji obrazovky.
  • Height: určuje výšku tvaru.
  • Width: určuje šířku tvaru.
  • WindowState: určuje stav tvaru (normální, minimalizovaný nebo maximalizovaný).

Hodnoty těchto parametrů můžete nastavit pomocí vlastností objektu tvaru, například:

Me.Top = 100Me.Left = 200Me.Height = 300Me.Width = 400Me.WindowState = xlNormal

V uvedeném příkladu bude tvar umístěn na obrazovce s horním levým úhlem posunutým o 100 pixelů dolů a 200 pixelů vpravo od levého horního rohu obrazovky. Výška tvaru bude 300 pixelů a šířka bude 400 pixelů. Stav formuláře bude nastaven jako"normální".

Pomocí těchto možností polohování můžete manipulovat s polohou formuláře na obrazovce v aplikaci VBA Excel a vytvářet uživatelská rozhraní, která odpovídají vašim potřebám a preferencím.

Metody změny tvaru

V aplikaci VBA Excel existuje několik metod, které vám umožňují změnit polohu formuláře na obrazovce. Zvažte každý z nich:

Metoda Move

Metoda Move umožňuje změnit polohu tvaru zadáním nových souřadnic levého horního rohu tvaru vzhledem k obrazovce.

Sub MoveForm()'Изменение положения формы на экранеUserForm1.Move Left:=100, Top:=100End Sub

Vlastnosti Top a Left

Vlastnosti Top a Left umožňují získat nebo nastavit aktuální souřadnice levého horního rohu tvaru vzhledem k obrazovce.

Sub ChangeFormPosition()'Получение текущих координат формыDim currentTop As IntegerDim currentLeft As IntegercurrentTop = UserForm1.TopcurrentLeft = UserForm1.Left'Изменение положения формыUserForm1.Top = 200UserForm1.Left = 200End Sub

Vlastnosti Height a Width

Vlastnosti Height a Width umožňují získat nebo nastavit aktuální velikosti tvaru.

Sub ChangeFormSize()'Получение текущих размеров формыDim currentHeight As IntegerDim currentWidth As IntegercurrentHeight = UserForm1.HeightcurrentWidth = UserForm1.Width'Изменение размеров формыUserForm1.Height = 300UserForm1.Width = 400End Sub

Pomocí uvedených metod a vlastností lze snadno změnit polohu a rozměry tvaru VBA Excel, abyste dosáhli požadovaného vzhledu a použitelnosti.

Příklad kódu pro změnu pozice formuláře

V aplikaci VBA Excel můžete pomocí následujícího kódu změnit polohu formuláře na obrazovce:

Sub ИзменитьПозициюФормы()' Задать новые координаты для формыDim НоваяПозиция As IntegerНоваяПозиция = 100' Изменить положение формыWith ThisWorkbook.VBProject.VBComponents("UserForm1").Designer.Top = НоваяПозицияEnd WithEnd Sub

Tento příklad používá metodu Top k nastavení nové vertikální souřadnice pro tvar. Můžete změnit hodnotu proměnné Nová položka a nastavit požadovanou polohu formuláře na obrazovce.

Poznámka: kód používá název formuláře "UserForm1". Pokud máte pro svůj formulář jiné jméno, nahraďte toto jméno kódem.