اعمال شرط همزمان به چند تکست باکس

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • sma519

    • 2013/10/23
    • 29
    • 57.00

    اعمال شرط همزمان به چند تکست باکس

    با سلام خدمت دوستان گرامی

    فرض کنید 10 تا تکست باکس داریم که باید همه آنها مقدار دهی شوند و سپس توسط یک باتن در محدوده ای از یک شیت ثبت گردند.
    حال قصد داریم شرطی برای باتن تعریف کنیم که اگر حتی یکی از تکست باکس ها هم خالی بود، پیام تعریف شده ای را نمایش دهد.

    در این مورد به راهنمایی دوستان نیاز دارم.

    با تشکر قبلی.
  • Nima

    • 2011/07/22
    • 385

    #2
    با سلام
    به لینک زیر مراجعه کنید

    مطالب و موضوعات مطرح شده درباره امكانات ويژوال بيسيك در اكسل را در اين قسمت مطرح ميگردد.
    [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]

    کامنت

    • sma519

      • 2013/10/23
      • 29
      • 57.00

      #3
      با سلام

      تو فایل پیوستی شرط برای تک تک تکست باکس ها جداگانه تعریف شده. اگه تعدادشون زیاد باشه، کار مشکل میشه. آیا راه حل ساده تری نیست؟

      ممنون

      کامنت

      • Alireza
        مدير تالار تنظيمات اكسل

        • 2011/03/01
        • 648
        • 80.00

        #4
        سلام
        بهر حال تکست باکسها لازم به تعریف دارند در بعضی موارد برای کوتاه کردن ماکرو میشه از آرایه ها یا از حلقه ها استفاده کرد
        [CENTER][COLOR=#ffd700]​[/COLOR]تنها راهي که به شکست مي انجامد، تلاش نکردن است
        [IMG]http://www.graphics18.com/wp-content/uploads/2010/12/yellow-flower23.gif[/IMG]
        [/CENTER]

        کامنت

        • Nima

          • 2011/07/22
          • 385

          #5
          با سلامشما میتونید از یک حلقه استفاده کنید مثل کد زیر:


          کد:
          For Each cCont In Me.Controls
              If TypeName(cCont) = "TextBox" Then
                  If cCont = "" Then
          msgBox "همه تکستباکسهارا پر کنید"
           ......
          end if
          end if
          next
          [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]

          کامنت

          • MEYTI

            • 2010/11/11
            • 362

            #6
            با سلام و با تشکر از نیما عزیز
            یه مشکلی که کد بالا داره با توجه به اینکه مسیج باکس داخل حلقه است برای هر شمارنده حلقه یکبار پیام نمایش داده میشه
            شما دوست عزیز در این جور مواقع برای اشاره به چندین کنترل خاص بهتر از خاصیت TAG کترل استفاده کنید در قسمت PROPERTIES هر کنترل خاصیت TAG ان کنترل را میتوان مشخص کرد که من در اینجا تگ کنترلهای مورد نظر را A قرار دادم و بعد با حلقه به این گروه تگ اشاره کردم
            کد زیررا ملاحظه فرمایید
            کد:
            Dim T As Boolean
            
            For Each CTL In Me.Controls
            
             If CTL.Tag = "A" And CTL.Value = "" Then
            
            T = False
            
            Exit For
            
            Else
            T = True
                End If
            
            Next CTL
            
            If T = True Then
            MsgBox "ثبت انجام شد"
            
            Else
            
            MsgBox ("یکی از تکست باکها خالی می باشد")
            End If
            [B][COLOR=#000080]مهدی کریمی[/COLOR][/B]

            کامنت

            • امين اسماعيلي
              مدير تالار ويژوال بيسيك

              • 2013/01/17
              • 1198
              • 84.00

              #7
              با درود
              ممنون از اقا نیما و مهدی جان

              اگر کد اقا نیما رو هم به این صورت بنویسیم فکر نکنم مشکلی پیش بیاد
              کد:
              Private Sub CommandButton1_Click()
              For Each cCont In Me.Controls
                  If TypeName(cCont) = "TextBox" And cCont = "" Then
                      
              MsgBox "Please fill all textbox"
               Exit Sub
               End If
              Next
              '"""""""""""""""""""""
              MsgBox "All data complete"
              End Sub
              اینو واسه یه button نوشتیم. همون کد نیما جان با یکم تغییر
              در پناه خداوندگار ایران زمین باشید و پیروز

              کامنت

              چند لحظه..