حذف ستون هایی که مقادیر صفر دارند

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • md14511
    • 2015/05/07
    • 71

    [حل شده] حذف ستون هایی که مقادیر صفر دارند

    سلام

    من یک سطر دارم با چند تا ستون

    میخوام ستون هایی که مقادیر صفر دارند حذف شوند و در سطر فقط آن ستون هایی که مقادیر بالاتر از صفر هستند بمانند به همراه نام سر ستون

    فایل پیوست کاملا مشخص است دنبال چی هستم

    ممنون دوستان
  • DOLFIN

    • 2014/01/18
    • 149

    #2
    سلام
    لطفا فایل زیر را بررسی بفرمایید .
    فایل های پیوست شده
    [CENTER][FONT=times new roman][SIZE=7][I][B][COLOR=#0000ff] خانه اکسل - [url]http://excelhouse.blog.ir[/url][/COLOR][/B][/I][/SIZE]
    [/FONT][/CENTER]

    کامنت

    • mokaram
      مدير تالار اکسل و بانک اطلاعاتی

      • 2011/02/06
      • 1805
      • 74.00

      #3
      جواب سوال با استفاده از کدهای VBA
      کد PHP:
      Dim lastColumn As Long
      Dim iCntr 
      As Long
      lastColumn 
      14
      For iCntr lastColumn To 1 Step -1
          
      If Cells(4iCntr) = 0 Then
              Columns
      (iCntr).Delete
          End 
      If
      Next 
      [CENTER][IMG]http://forum.exceliran.com/signaturepics/sigpic909_10.gif[/IMG]
      [/CENTER]

      کامنت

      • md14511
        • 2015/05/07
        • 71

        #4
        نوشته اصلی توسط dolfin
        سلام
        لطفا فایل زیر را بررسی بفرمایید .
        ممنون خیلی خوب بود فقط یه سوال ؟؟؟؟

        اگر من از بالا سطر اضافه کنم (یعنی insert کنم) فرمول میریزه به هم میشه کاری کرد که نریزه به هم؟

        یا توضیح بدید کجای فرمول رو تغییر بدم که درست بشه

        ممنون

        کامنت

        • md14511
          • 2015/05/07
          • 71

          #5
          نوشته اصلی توسط M_R_M
          جواب سوال با استفاده از کدهای VBA
          کد PHP:
          Dim lastColumn As Long
          Dim iCntr 
          As Long
          lastColumn 
          14
          For iCntr lastColumn To 1 Step -1
              
          If Cells(4iCntr) = 0 Then
                  Columns
          (iCntr).Delete
              End 
          If
          Next 

          ببخشید ...

          چجوری باید این ماکرو رو استفاده کنم.....

          نگید این چقد گیجه !!!!!!!....یادم رفته....

          کامنت

          • mokaram
            مدير تالار اکسل و بانک اطلاعاتی

            • 2011/02/06
            • 1805
            • 74.00

            #6
            نوشته اصلی توسط davodabedzadeh
            ببخشید ...

            چجوری باید این ماکرو رو استفاده کنم.....

            نگید این چقد گیجه !!!!!!!....یادم رفته....
            به یک شی مثل شیپ یا باتن الصاقش کنید . مثلا یه شیپ روی شیت ایجاد کنید و بعد روی اون راست کلیک کرده assign macro را زده و ماکروی مربوطه را انتخاب کنید و ok را بزنید
            در ضمن اگر تعداد ستون های شما بیشتر شد می تونید شماره آخرین ستون را در قطعه کد زیر تغییر بدید
            کد PHP:
            lastColumn 14 
            [CENTER][IMG]http://forum.exceliran.com/signaturepics/sigpic909_10.gif[/IMG]
            [/CENTER]

            کامنت

            • shamsololama

              • 2010/02/15
              • 940

              #7
              با درود فراوان و سپاس از مدیر انجمن

              جهت اینکه با اینسرت به هم نریزه این شماره چهار رو تو سطر پایین یا تغییرش بدی یا متغییرش کنی
              If Cells(4, iCntr) = 0 Then
              ---------------------------------------------------------------------------------------------------
              بمانیم تا کاری کنیم ،نه کاری کنیم تا بمانیم [size=x-small](دکتر شریعتی)[/size]
              shamsololama@yahoo.com
              09177733411

              کامنت

              • mokaram
                مدير تالار اکسل و بانک اطلاعاتی

                • 2011/02/06
                • 1805
                • 74.00

                #8
                استاد منور فرمودید ایشالا که بتونیم بیشتر از محضرتون کسب فیض کنیم
                [CENTER][IMG]http://forum.exceliran.com/signaturepics/sigpic909_10.gif[/IMG]
                [/CENTER]

                کامنت

                • DOLFIN

                  • 2014/01/18
                  • 149

                  #9
                  سلام
                  در جواب سوالتون باید بگم که در سطر چهاردهم فرمولی که نوشته شده مربوط به سطر سوم هستش و شما می بایست در فرمول بعد از address عدد 3 رو به شماره سطر دلخواهتون تغییر بدید.
                  اما نکته ای که لازم میبینم مطرح کنم این هستش که اگر شما دنبال آموزش اکسل هستید به این صورت پرسش و پاسخ ، مطلب رو به نحو درست دریافت نمی کنید چون همانطور که خودتون در این فایل می بینید از ترکیب چند فرمول جواب شما به دست آمده پس می بایست حداقل با ساختار فرمول ها آشنایی داشته باشیم که بشود تغییری در فرمول ها ایجاد کرد یا با چگونگی رسیدن به جواب آشنا شد.
                  حتما این نوع یادگیری اکسل به نفع شماست و مطمعنا فواید بسیاری برای شما دارد . علاوه بر پیشرفت شما در استفاده از نرم افزار اکسل موجب لذت بیشتری در هنگام کار نیز می شود.
                  موفق باشید.
                  [CENTER][FONT=times new roman][SIZE=7][I][B][COLOR=#0000ff] خانه اکسل - [url]http://excelhouse.blog.ir[/url][/COLOR][/B][/I][/SIZE]
                  [/FONT][/CENTER]

                  کامنت

                  • md14511
                    • 2015/05/07
                    • 71

                    #10
                    نوشته اصلی توسط DOLFIN
                    سلام
                    در جواب سوالتون باید بگم که در سطر چهاردهم فرمولی که نوشته شده مربوط به سطر سوم هستش و شما می بایست در فرمول بعد از address عدد 3 رو به شماره سطر دلخواهتون تغییر بدید.
                    اما نکته ای که لازم میبینم مطرح کنم این هستش که اگر شما دنبال آموزش اکسل هستید به این صورت پرسش و پاسخ ، مطلب رو به نحو درست دریافت نمی کنید چون همانطور که خودتون در این فایل می بینید از ترکیب چند فرمول جواب شما به دست آمده پس می بایست حداقل با ساختار فرمول ها آشنایی داشته باشیم که بشود تغییری در فرمول ها ایجاد کرد یا با چگونگی رسیدن به جواب آشنا شد.
                    حتما این نوع یادگیری اکسل به نفع شماست و مطمعنا فواید بسیاری برای شما دارد . علاوه بر پیشرفت شما در استفاده از نرم افزار اکسل موجب لذت بیشتری در هنگام کار نیز می شود.
                    موفق باشید.

                    ممنون از راهنمایی خوبتون

                    من اکسلم بد نیست، فهمیدم هم چی کار کردید ، ولی عدد 3 را به 4 تغییر دادم فرمول دیگه کار نمیکنه

                    اگه امکان داره فرمول را برام از سطر 4 بنویسید....

                    چون من میخوام این فرمول را برای جدول پیووت بنویسم و جدولم از سطر 4 شروع میشه

                    ممنون

                    کامنت

                    • iranweld

                      • 2015/03/29
                      • 3341

                      #11
                      با سلام

                      از این ماکرو نیز میتوانید استفاده کنید و هیچ محدودیتی در تعداد ستونها وجود ندارد.

                      کد PHP:
                      Sub test()
                      4
                      Application.WorksheetFunction.CountA(Range("3:3")) + 1

                      For 2 To n
                      If Cells(4j).Value <> 0 Then

                      Cells
                      (14k).Value Cells(3j).Value
                      Cells
                      (15k).Value Cells(4j).Value
                      1

                      End 
                      If
                      Next j 
                      فایل های پیوست شده

                      کامنت

                      • DOLFIN

                        • 2014/01/18
                        • 149

                        #12
                        سطر سوم که داده 1 و 2 و ... درونش هست رو select کنید سپس کلیک راست کنید و insert رو انتخاب کنید تا سطر سوم به چهارم منتقل بشه.
                        همانطور که می بینید در جدول فرمول ها عددی برگشت داده نمیشه پس به اولین سلول فرمول ها یعنی b15 می رویم و عدد 3 بعد از address رو به عدد 4 تغییر بدید و ctrl+shift+enter رو باهم بزنید تا فرمول به صورت آرایه ای استفاده بشه در غیر این صورت فرمول خروجی نداره.
                        در نهایت فرمول رو به سلول های مجاور درگ میکنیم.
                        ضمنا دوست من بنده به عنوان یک کاربری ساده قصد راهنمایی شما را داشتم برای همین لازم دیدم توضیحاتی رو در خصوص یادگیری اکسل به شما بدهم . حالا اگر شما مخالف هستید و به قول خودتان "من اکسلم بد نیست، فهمیدم هم چی کار کردید" که خیلی هم عالیست .
                        با آرزوی موفقیت برای شما دوست عزیز
                        [CENTER][FONT=times new roman][SIZE=7][I][B][COLOR=#0000ff] خانه اکسل - [url]http://excelhouse.blog.ir[/url][/COLOR][/B][/I][/SIZE]
                        [/FONT][/CENTER]

                        کامنت

                        • md14511
                          • 2015/05/07
                          • 71

                          #13
                          نوشته اصلی توسط iranweld
                          با سلام

                          از این ماکرو نیز میتوانید استفاده کنید و هیچ محدودیتی در تعداد ستونها وجود ندارد.

                          کد PHP:
                          Sub test()
                          4
                          Application.WorksheetFunction.CountA(Range("3:3")) + 1

                          For 2 To n
                          If Cells(4j).Value <> 0 Then

                          Cells
                          (14k).Value Cells(3j).Value
                          Cells
                          (15k).Value Cells(4j).Value
                          1

                          End 
                          If
                          Next j 
                          یعنی خیر دنیا و آخرت نصیبتون

                          خیلییییییی عالی بود

                          ممنون و هزار بار تشکر

                          کامنت

                          چند لحظه..