فرمي براي ورود اطلاعات دارم كه در هر مرحله نياز به چند تا تكست دارم اما تعداد تكستها در اين فرم در هر مرحله فرق دارد . آيا ميشه با باز شدن هر فرم تعداد مورد نياز تكست ها را در ايجاد نمود. مثلا وقتي با يه كامندي اين فرم را باز كنيم 10 تا تكست ايجاد بشه و با يه كامند ديگه اي 12 تا تكست باز بشه ؟ البته در طراحي فرم هيچ تكستي گذاشته نشود و تكست ها به صورت بالا ايجاد و ساخته بشن.
textbox
Collapse
X
-
textbox
سلام
فرمي براي ورود اطلاعات دارم كه در هر مرحله نياز به چند تا تكست دارم اما تعداد تكستها در اين فرم در هر مرحله فرق دارد . آيا ميشه با باز شدن هر فرم تعداد مورد نياز تكست ها را در ايجاد نمود. مثلا وقتي با يه كامندي اين فرم را باز كنيم 10 تا تكست ايجاد بشه و با يه كامند ديگه اي 12 تا تكست باز بشه ؟ البته در طراحي فرم هيچ تكستي گذاشته نشود و تكست ها به صورت بالا ايجاد و ساخته بشن.[COLOR=#800000][FONT=tahoma]مواظب باشید به تابوت من آگهی تبلیغاتی نچسبانند (حسين پناهي)[/FONT][/COLOR] -
با استفاده از کد زیر موقع لود شدن فرم 5 تا تکست باکس تو فرم ساخته میشه و برای اینکه تعداد تکست باکسها با هر یوزری که وارد میشه متفاوت باشه بقیه دوستان حتما نظر خواهند داد.
کد PHP:'Option Explicit
Private Sub UserForm_Initialize()
Dim txtB1 As Control
Dim i
For i = 0 To 5
Set txtB1 = Controls.Add("Forms.TextBox.1")
With txtB1
.Name = "myText" & i
.Height = 20
.Width = 50
.Left = 10
.Top = 10 * i * 2
End With
Next i
End Sub
Last edited by Nima; 2013/11/09, 12:03.[CENTER][COLOR=#ff0000]************************************[/COLOR]
No [COLOR=#32CD32][B]LION's [/B][/COLOR]roar ruins my hut, I afraid of [COLOR=#ff0000][B]TERMITE's [/B][/COLOR]silence
[COLOR=#ff0000]************************************[/COLOR]
[/CENTER] -
با استفاده از کد زیر قبل از اجرای فرم از طریق InputBox تعداد تکست باکسها از کاربر گرفته میشه بعد بر اساس همین تعداد تکست باکس به فرم اضافه میشود.
کد:Private Sub UserForm_Initialize() Dim txtB As Control Dim i As Integer Dim txt As Integer txt = InputBox("ÊÚÏÇÏ Ê˜ÓÊ Èǘӿ", "ÊÚÏÇÏ") For i = 1 To txt Set txtB = Controls.Add("Forms.TextBox.1") With txtB .Name = "myText" & i .Height = 20 .Width = 80 .Left = 10 .Top = 10 * i * 2 End With Next i End Sub[CENTER][COLOR=#ff0000]************************************[/COLOR]
No [COLOR=#32CD32][B]LION's [/B][/COLOR]roar ruins my hut, I afraid of [COLOR=#ff0000][B]TERMITE's [/B][/COLOR]silence
[COLOR=#ff0000]************************************[/COLOR]
[/CENTER]کامنت
-
سلام
شما نام تکست باکس ها رو myText & i قرار دادین ولی موقعی که این تکس باکس مقدار می گیره چطوری مقدارشو به یک سلول در شیت بدیم (اگه توی حلقه for قرار بدیم این مقدار رو نمی شناسه cells(i , 1).value=mytext(i).value).می شه راهنمایی بفرمایید .ممنونکامنت
-
با سلام
مقدار i را یک متغییر public در خط ابتدای ماژولها معرفی کنید
کد PHP:Public i As Integer
کد PHP:Public i As Integer
Private Sub CommandButton1_Click()
For t = 1 To i - 1
Cells(t, 1) = Me.Controls("myText" & t)
Next
End Sub
Private Sub UserForm_Initialize()
Dim txtB As Control
Dim txt As Integer
txt = InputBox("input textbox count")
For i = 1 To txt
Set txtB = Controls.Add("Forms.TextBox.1")
With txtB
.Name = "myText" & i
.Height = 20
.Width = 80
.Left = 10
.Top = 10 * i * 3
End With
Next i
UserForm1.Height = (10 * i * 3) + 50
End Sub
فایل های پیوست شدهLast edited by iranweld; 2018/08/26, 14:08.کامنت
-
جناب iranweld ممنون از راهنماییتون
من کدهارو روی فرم پیوست اجرا کردم ولی یه مشکل هست و اینکه بعد از اینکه کاربر جدید اضافه می کنم و تکست باکس ها به فرم اضافه می شن دگمه ثبت ناقص عمل می کنه یعنی فقط برای آخرین عضو(عضو جدید) کار می کنه و فقط اطلاعات اون ثبت می شه.
ممنونفایل های پیوست شدهکامنت
-
کامنت
-
با تشکر از شما
نه مثل اینکه درست نشده.مشکل اینکه بعد از ایجاد فرم و وقتی بخوای نفر جدید اضافه کنی دیگه اطلاعات مقابل نفرات ثبت نمی شه و فقط همون ردیف آخر ثبت می شه
باز هم ممنونکامنت
-
سلام
در مورد دکمه ای که قرار هست تکست باکس و لیبل ایجاد کنه اگه دکمه رو توی یک frame بذاریم دکمه عمل می کنه ولی با این تفاوت که مواردی که ایجاد می کنه رو روی فرم اصلی و پشت frame ایجاد می کنه که دیده نمی شن .اگه ممکنه راهنمایی بفرمایید.ممنونکامنت



کامنت