مخفی کردن سطر های Blank در یک جدول

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • a.dal65

    • 2011/04/29
    • 384
    • 67.00

    [حل شده] مخفی کردن سطر های Blank در یک جدول

    اساتید من یه جدول دارم که میخوام وقتی توی جدولم هر چند تا سطر خالی موند (blank بود) اونها رو مخفی کنم.
    (با یه ماکرو این کارو انجام بدم)
    توی انجمن سرج کردم چیزی پیدا نکردم
    ولی توی گوگل بود و نتونستنم کارمو راه بندازم
    کسی میتونه کمک کنه ؟
    how to auto hide row - Recherche Google
    فایل های پیوست شده
    Last edited by a.dal65; 2015/12/30, 10:35. دلیل: فایل ضمیمه شد
  • amir_ts

    • 2015/03/17
    • 1247

    #2
    با سلام
    دو تا CommandButton اضافه کنید به ترتیب داخل قسمت کد نویسی این کدها رو بنویسید.داخل یک CommandButton نام macro1 را بنویسید.

    کد PHP:
    sub macro1()
    range("b2").select
    do while activecell.row 100
    if activecell.value "" and activecell.offset(0,1).value "" then
    Selection
    .EntireRow.Hidden True
    endif
    activecell.offset(1,0).select
    loop
    end sub 
    کد PHP:
    Cells.Select
        Selection
    .EntireRow.Hidden Fals 
    e
    Last edited by amir_ts; 2015/12/30, 12:52.
    [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

    کامنت

    • a.dal65

      • 2011/04/29
      • 384
      • 67.00

      #3
      ممنون امیر جان
      تست کردم بدرستی کار کرد
      فقط نتونستم توی فایل اصلیم (روی دکمه بررسی) پیاده کنم.
      فایل های پیوست شده

      کامنت

      • amir_ts

        • 2015/03/17
        • 1247

        #4
        دوست عزیز دکمه بررسی رو پاک کنید و از قسمت DEVELOPER قسمت INSERT و در آخر ACTIVE X CONTOROLS یک command button اضافه کنید و داخل اون کد رو بنویسید.
        [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

        کامنت

        • mobinsaffarpour

          • 2013/05/25
          • 176

          #5
          سلام دوست عزیز . اگر یک محدوده خاص را در نظر دارید می توانید از فایل پیوست استفاده نمائید.
          فایل های پیوست شده

          کامنت

          • amir_ts

            • 2015/03/17
            • 1247

            #6
            فایل پیوست شد.
            فایل های پیوست شده
            [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

            کامنت

            • a.dal65

              • 2011/04/29
              • 384
              • 67.00

              #7
              نوشته اصلی توسط mobinsaffarpour
              سلام دوست عزیز . اگر یک محدوده خاص را در نظر دارید می توانید از فایل پیوست استفاده نمائید.
              حالا اگه بخوام همین رنجی که hide شده رو با یه دکمه دیگه unhide کنم از چه دستوری استفاده کنم ؟
              نوشته اصلی توسط amir_ts
              فایل پیوست شد.
              امیر جان شما راست کلیک رو روی دو دکمه بررسی و مشاهده بستین ؟
              من چطوری همین کارو بکنم ؟

              کامنت

              • amir_ts

                • 2015/03/17
                • 1247

                #8
                با سلام
                برای تغیر باید از تب developer قسمت Design mode رو بزنید تا بتونید هر تغیری بدید.
                [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

                کامنت

                • generalsamad
                  مدير تالار توابع

                  • 2014/06/22
                  • 1496

                  #9
                  با سلام
                  و با اجازه دوستان

                  نوع دکمه ایجاد شده از نوع Active X بوده

                  برای اینکه بتونید روی دکمه راست کلیک کنید باید اون Design کنید
                  طبق شکل این قسمت رو فعال کنید

                  Click image for larger version

Name:	Disegn.png
Views:	1
Size:	58.8 کیلو بایت
ID:	127989
                  [CENTER]
                  [SIGPIC][/SIGPIC]
                  [/CENTER]

                  کامنت

                  • mobinsaffarpour

                    • 2013/05/25
                    • 176

                    #10
                    تقدیم به شما دوست عزیز
                    فایل های پیوست شده

                    کامنت

                    • a.dal65

                      • 2011/04/29
                      • 384
                      • 67.00

                      #11
                      ممنون از پاسخت با کلی جستجو تو گوگل هم یه نمونه پیدا گردم
                      کد:
                      Sub sbUnHideRows()
                      Rows("4:204").EntireRow.Hidden = False
                      End Sub

                      کامنت

                      • a.dal65

                        • 2011/04/29
                        • 384
                        • 67.00

                        #12
                        آقا مبین به یه مشکلی بر خوردم .
                        توی کدی که زحمتشو کشیدین ستون b1 تاb204 رو چک میکنه اگه هر جای خالی بود از اون ردیف به بعد رو hide میکنه.
                        میشه یه ستون دیگه رو هم چک کنه (در بعضی مواقع اون ستون اطلاعاتش بیشتر)
                        به این فایل یه نگاه بندازید بی زحمت منظورمو متوجه میشید.
                        فایل های پیوست شده

                        کامنت

                        • mobinsaffarpour

                          • 2013/05/25
                          • 176

                          #13
                          دوست عزیز باسلام.

                          از نظر شدن میشه. اما شما همیشه یکی از ستونهای فایلتون حاوی اطلاعات هست و به نظر بنده نیازی به اجرای این کار نیست.

                          یک سوال ؟

                          دلیل اینکه ردیف های خالی در فایلتون وجود داره چی هست ؟؟؟ چرا باید ردیفی ایجاد بشه که بعدش بخواد مخفی بشه؟؟؟

                          کامنت

                          • a.dal65

                            • 2011/04/29
                            • 384
                            • 67.00

                            #14
                            دلیلش اینه که من از تاریخ 1 تا 6 فروردین 10 تا چک دارم در صورتیکه تو همون تاریخ 20 تا چک دادم
                            و کد بر اساس ستون 10 تا چک عمل میکنه
                            اگه باز هم منظورمو متوجه نشدید فایل نمونه بزارم
                            ممنون

                            کامنت

                            • iranweld

                              • 2015/03/29
                              • 3341

                              #15
                              با سلام

                              کد hide را بدین صورت اصلاح کنید

                              کد PHP:
                              Sub Hide()
                              Application.ScreenUpdating False
                              Dim A 
                              As Range

                              z1 
                              Sheets("فرم").Cells(Sheets("فرم").Rows.Count"b").End(xlUp).Row
                              z2 
                              Sheets("فرم").Cells(Sheets("فرم").Rows.Count"f").End(xlUp).Row

                              If z1 >= z2 Then

                                  With ActiveSheet
                              .Range("B1:B126")
                                      Do
                                          
                              Set A = .Find(""LookIn:=xlValuesLookAt:=xlWhole_
                                                  MatchCase
                              :=False)
                                          If 
                              A Is Nothing Then Exit Do
                                          
                              A.EntireRow.Hidden True
                                      Loop
                                  End With
                                  
                                  
                              Else
                                  
                                  
                              With ActiveSheet.Range("f1:f126")
                                      Do
                                          
                              Set A = .Find(""LookIn:=xlValuesLookAt:=xlWhole_
                                                  MatchCase
                              :=False)
                                          If 
                              A Is Nothing Then Exit Do
                                          
                              A.EntireRow.Hidden True
                                      Loop
                                  End With
                                  
                                  End 
                              If
                                  
                                  
                              Application.ScreenUpdating True
                                  
                              End Sub 
                              به روش دیگر


                              کد PHP:
                              Sub Hide()

                              Application.ScreenUpdating False

                                 Range
                              ("A4").Select
                                 
                                 
                              Do Until ActiveCell.Offset(10) = ""
                                 
                                  
                              ActiveCell.Offset(10).Select
                                  
                                  
                                 Loop
                                 
                                Z1 
                              ActiveCell.Row+1
                                 
                                  Range
                              ("E4").Select
                                 
                                 
                              Do Until ActiveCell.Offset(10) = ""
                                 
                                  
                              ActiveCell.Offset(10).Select
                                  
                                  
                                 Loop
                                 
                              Z2 
                              ActiveCell.Row+1
                                    
                                 
                              If Z1 >= Z2 Then

                                 Rows
                              (Z1 ":" Z1).Select
                                  Range
                              (SelectionCells(2501)).Select
                                  Selection
                              .EntireRow.Hidden True
                                 
                                  
                              Else
                                  
                                  
                              Rows(Z2 ":" Z2).Select
                                   Range
                              (SelectionCells(2501)).Select
                                  Selection
                              .EntireRow.Hidden True
                                  
                                  End 
                              If
                                  
                                   
                              Rows("251:256").EntireRow.Hidden False
                                   Range
                              ("F256").Select
                                  
                                  
                                 Application
                              .ScreenUpdating True
                                  
                              End Sub 
                              فایل های پیوست شده
                              Last edited by iranweld; 2016/01/04, 14:28.

                              کامنت

                              چند لحظه..