Wa'alaikumussalam wr wb
VBA tidak menyediakan userform yang dinamis.
Paling mudah adalah dengan membuat banyak userform dengan berbagai ukuran
resolusi kemudian aktifkan salah satu userform yang ukuran lebarnya sama
dengan ukuran lebar aplikasi saat fullscreen. Tampak ribet tapi cukup
sekali saja, yaitu saat mengatur layout setiap controls. Setiap event si
controls dalam masing-masing userform akan memiliki prosedur yang sama.
Jadi seluruh proses setiap event bisa dipindahkan ke sebuah general module
menjadi suatu prosedur. Isi prosedur event dalam setiap controls di setiap
userform cukup memanggil prosedur terkait dengan membawa nama userform.
Contoh : ada userform800 dan userform640. Didalamnya ada sebuah textbox
bernama txt1 dan sebuah command button bernama cmd1. Isi proses dalam cmd1
itu menampilkan msgbox isi dalam txt1
maka pada sebuah general module dibuat prosedur event terkait (misal klik
nya di commandbutton cmd1)
public sub KlikCmd1( myForm as object )
with myform
msgbox .txt1.text
end sub
end sub
pada event click milik cmd1 di userform800 dan userform640 diisi dengan
perintah memanggil prosedur KlikCmd1 dengan menyertakan object formnya
klikcmd1 me
----------
Cara lain yang tidak lebih mudah adalah dengan menata ulang setiap control
dalam userform dengan code, yaitu mengatur titik top, left, height, width,
dan jarak antar controls.
Jadi jika ada banyak controls dalam userform, maka akan ada proses panjang
untuk menata ulang letak setiap controls tersebut. Contoh jika tombol B
dibawah tombol A berjarak 5 pixel, maka harus atur titik top dan left
tombol A, kemudian ubah height dan width tombol A, kemudian atur top tombol
B di 5 pixel + tinggi tombol A yang baru. Baru diatur height dan width
tombol B.
Juga dilakukan terhadap letak dan dimensi controls yang ada di kanan suatu
controls.
Begitu seterusnya sampai seluruh controls pada posisi yang tepat.
dan selamat bermumet ria.
----------
;)
Wassalamu'alaikum wr wb,
Kid.
2014-11-27 15:27 GMT+11:00 Heru Adi [email protected] [belajar-excel] <
[email protected]>:
>
>
> Aslmlkm.
>
> Selamat malam para suhu, saya mau tanya bagaimana cara membuat userform
> yang lebar dan tingginya menyesuaikan dengan lebar windows , sehingga
> ketika userform tersebut di tampilkan maka layar monitor kita full dengan
> tampilan userform nya.
> Bagaimana juga cara mengatur control2 yang ada di dalam userform tersebut
> sehingga ikut menyesuaikan dengan userform nya, maksudnya jika userform nya
> membesar atau mengecil maka control2'ya (combobox, listbox, comandbutton
> dll) pun ikut menyesuaikan sehingga tidak terjadi perubahan bentuk atau
> tata letak pada control yg ada di userform tsb.
> sebelumnya saya sudah mendapat jawaban dari bapak Kanang Agus dgn kode sbb
> :
>
> " Private Sub UserForm_Initialize()
> Application.WindowState = xlMaximized
> Me.Width = Application.Width
> Me.Height = Application.Height
> End Sub "
>
> Tp dengan kode di atas hanya untuk userformnya saja sementara control2
> yang ada di dalam userformnya tidk ikut menyesuaikan.
> Terimakasih banyak sebelumnya atas jawaban para suhu dan rekan2 semua.
> saya sangat berharap bisa mendapatkan jawaban yang baik dari rekan2.
> Semoga ilmu kita semua berkah dan bermanfaat.
> Saya sangat menunggu jawabannya. Sekali lagi terima kasih
> Wslmlkm.
>
>
>