انتقال نام شیت ها به سلول

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

    • 2010/11/09
    • 109
    • 82.00

    انتقال نام شیت ها به سلول

    سلام
    دوستان کسی میدونه چه جوری میشه بدون استفاده از کد نویسی در محیط وی بی اسامی شیتهای یک فایل اکسل رو به سلولهای اکسل منتقل کنیم
    مثلا فرض کنید فایلی دارید با تعداد صفحات بسیار زیاد و بدنبال این هستیم یک صفحه به عنوان فهرست نام صفحات داشته باشیم
    ممنون
    توی شهری که تو نیستی همه جا رو غم گرفته
  • حسام بحرانی

    • 2013/09/29
    • 2065
    • 72.00

    #2
    نوشته اصلی توسط vahid950
    سلام
    دوستان کسی میدونه چه جوری میشه بدون استفاده از کد نویسی در محیط وی بی اسامی شیتهای یک فایل اکسل رو به سلولهای اکسل منتقل کنیم
    مثلا فرض کنید فایلی دارید با تعداد صفحات بسیار زیاد و بدنبال این هستیم یک صفحه به عنوان فهرست نام صفحات داشته باشیم
    ممنون
    با سلام ، دوست عزیز شما می بایست از Hyperlink استفاده کنید . به فایل زیر نگاه کنید ؛
    با سپاس

    ɦɛʂɑɱ ɓɑɦɾɑɳɨ
    فایل های پیوست شده
    !With God all things are possible



    کامنت

    • vahid950

      • 2010/11/09
      • 109
      • 82.00

      #3
      از فایلتون متشکرم
      متوجه نشدم اسامی شیتها که تو شیت 1 اومدن رو دستی وارد کردید؟ اگر نه و با هایپرلینک بوده روشش رو میفرمایید
      توی شهری که تو نیستی همه جا رو غم گرفته

      کامنت

      • حسام بحرانی

        • 2013/09/29
        • 2065
        • 72.00

        #4
        نوشته اصلی توسط vahid950
        از فایلتون متشکرم
        متوجه نشدم اسامی شیتها که تو شیت 1 اومدن رو دستی وارد کردید؟ اگر نه و با هایپرلینک بوده روشش رو میفرمایید
        سلام ، لطفاً به عکس زیر نگاه کنید ؛

        Click image for larger version

Name:	Hyperlink.jpg
Views:	1
Size:	178.4 کیلو بایت
ID:	122239

        با سپاس

        ɦɛʂɑɱ ɓɑɦɾɑɳɨ
        !With God all things are possible



        کامنت

        • vahid950

          • 2010/11/09
          • 109
          • 82.00

          #5
          متشکرم ازتون . دنبال یه راه حلی بودم که اتوماتیک اسم همه شیتها لیست بشن.!!!!
          فکر کنم توقع زیادی از نرم افزار داشتم
          توی شهری که تو نیستی همه جا رو غم گرفته

          کامنت

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

            • 2013/01/17
            • 1198
            • 84.00

            #6
            با درود
            با تابع میخواین یا با vba. اگر با vba باشه که قبلا انجام شده و نمونه اش هست به شکل های مختلف . اگرم تابع بخواین دقیقا یادم نیست اما فک کنم انجام شده.
            در پناه خداوندگار ایران زمین باشید و پیروز

            کامنت

            • shabakeha

              • 2011/10/07
              • 216

              #7
              نوشته اصلی توسط امين اسماعيلي
              با درود
              با تابع میخواین یا با vba. اگر با vba باشه که قبلا انجام شده و نمونه اش هست به شکل های مختلف . اگرم تابع بخواین دقیقا یادم نیست اما فک کنم انجام شده.
              با سلام.
              میشه برای هر دو روش مثالی بزنید.
              باتشکر.
              خرید و دانلود پروژه ها - پایان نامه ها - مقالات - کتب و نرم افزارهای مهندسی برق در فروشگاه مهندسین برق.

              www.*******.ir
              www.********.ir

              کامنت

              • حسام بحرانی

                • 2013/09/29
                • 2065
                • 72.00

                #8
                نوشته اصلی توسط shabakeha
                با سلام.
                میشه برای هر دو روش مثالی بزنید.
                باتشکر.
                با سلام ، دو فایل بسیار زیبا از آقای وطن پرست در اینحا و نیز آقا نیمای عزیز در اینجا برای ایجاد منو با استفاده از vba ارائه شده که می تونید به اون مراجعه کنید .
                با سپاس

                ɦɛʂɑɱ ɓɑɦɾɑɳɨ

                !With God all things are possible



                کامنت

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

                  • 2013/01/17
                  • 1198
                  • 84.00

                  #9
                  با درود
                  میبینم شب از نیمه گذشته و من طبق معمول قدیما بیدارم. خوب بریم سر کار شما دوست عزیز . اینکه با vba انجام بشه که قبلا انجام شده . لینک رو دوستان دادن. نمیدونم کجاخودمم قبلا به سه طریق تو شیت،تو کمبو و لیست باکس گذاشته بودم. اما بریم سر تابع
                  اگر فقط اسم هر شیتی رو تو خود شیت میخواستی که اونم انجام شده با تابع . اما ما الان سر کارمون با تمام شیت ها توی یه شیته . خوب بسه زیاد حرف زدم بریم سر اصل مطلب :

                  1- بر قسمت formulas-Define naeme
                  بعدش
                  در قسمت Name بنویس SheetNames
                  و در قسمت refers to : فرمول زیر رو بنویس
                  کد:
                  =GET.WORKBOOK(1)&T(NOW())
                  بعدش در سل A1 فرمول زیر رو بنویس و درگ کن تا پایین تا زمانی که سل خالی ظاهر بشه(یعنی تمام شدن نام شیت ها)
                  کد:
                  =IFERROR(INDEX(MID(SheetNames,FIND("]",SheetNames)+1,255),ROWS(A$1:A1)),"")
                  دست آخر یادتون نره که اگر از اکسل 2007 به بالا دارین استفاده میکنین فایل رو به صورت ماکرویی ذخیره کنین
                  در پناه خداوندگار ایران زمین باشید و پیروز

                  کامنت

                  • Amir Ghasemiyan

                    • 2013/09/20
                    • 4500
                    • 100.00

                    #10
                    نوشته اصلی توسط امين اسماعيلي
                    با درود
                    میبینم شب از نیمه گذشته و من طبق معمول قدیما بیدارم. خوب بریم سر کار شما دوست عزیز . اینکه با vba انجام بشه که قبلا انجام شده . لینک رو دوستان دادن. نمیدونم کجاخودمم قبلا به سه طریق تو شیت،تو کمبو و لیست باکس گذاشته بودم. اما بریم سر تابع
                    اگر فقط اسم هر شیتی رو تو خود شیت میخواستی که اونم انجام شده با تابع . اما ما الان سر کارمون با تمام شیت ها توی یه شیته . خوب بسه زیاد حرف زدم بریم سر اصل مطلب :

                    1- بر قسمت formulas-Define naeme
                    بعدش
                    در قسمت Name بنویس SheetNames
                    و در قسمت refers to : فرمول زیر رو بنویس
                    کد:
                    =GET.WORKBOOK(1)&T(NOW())
                    بعدش در سل A1 فرمول زیر رو بنویس و درگ کن تا پایین تا زمانی که سل خالی ظاهر بشه(یعنی تمام شدن نام شیت ها)
                    کد:
                    =IFERROR(INDEX(MID(SheetNames,FIND("]",SheetNames)+1,255),ROWS(A$1:A1)),"")
                    دست آخر یادتون نره که اگر از اکسل 2007 به بالا دارین استفاده میکنین فایل رو به صورت ماکرویی ذخیره کنین
                    ممنون امين جان آموزش خيلي خوبي بود. لذت بردم
                    ميشه در مورد define name يكم بيشتر توضيح بدي؟
                    اين تابعي كه استفاده كردي از توابع vba هست. چطور ميشه كه از طريق تعريف نام قابل اجرا شده؟
                    اصلا چه كدهايي در vba اين قابليت رو دارن كه بدون ماژول و كدنويسي وارد برناممون بشن؟

                    کامنت

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

                      • 2013/01/17
                      • 1198
                      • 84.00

                      #11
                      با درود
                      چشم سعی میشه یه جزوه در این مورد اماده بشه واسه بچه ها. این یه مثالی شبیه کد های توابعی بود که قبلا در اکسل وجود داشته و الان نیستش و باید فراخونی بشن دوباره. مثل evaluate که مهدی خان هم قبلا در موردش توضیح داده بود یه جایی .
                      در پناه خداوندگار ایران زمین باشید و پیروز

                      کامنت

                      • misammisam
                        مدير تالار حسابداری و اکسل

                        • 2014/04/03
                        • 892
                        • 64.00

                        #12
                        نوشته اصلی توسط امين اسماعيلي
                        با درود
                        میبینم شب از نیمه گذشته و من طبق معمول قدیما بیدارم. خوب بریم سر کار شما دوست عزیز . اینکه با vba انجام بشه که قبلا انجام شده . لینک رو دوستان دادن. نمیدونم کجاخودمم قبلا به سه طریق تو شیت،تو کمبو و لیست باکس گذاشته بودم. اما بریم سر تابع
                        اگر فقط اسم هر شیتی رو تو خود شیت میخواستی که اونم انجام شده با تابع . اما ما الان سر کارمون با تمام شیت ها توی یه شیته . خوب بسه زیاد حرف زدم بریم سر اصل مطلب :

                        1- بر قسمت formulas-Define naeme
                        بعدش
                        در قسمت Name بنویس SheetNames
                        و در قسمت refers to : فرمول زیر رو بنویس
                        کد:
                        =GET.WORKBOOK(1)&T(NOW())
                        بعدش در سل A1 فرمول زیر رو بنویس و درگ کن تا پایین تا زمانی که سل خالی ظاهر بشه(یعنی تمام شدن نام شیت ها)
                        کد:
                        =IFERROR(INDEX(MID(SheetNames,FIND("]",SheetNames)+1,255),ROWS(A$1:A1)),"")
                        دست آخر یادتون نره که اگر از اکسل 2007 به بالا دارین استفاده میکنین فایل رو به صورت ماکرویی ذخیره کنین


                        اين خيلي جالب بود ، الان من هنگ كردم اين چطوري كار ميكنه !!!!؟؟؟؟
                        يكي زحمت بكشه يه توضيح بده درباره كلش ، مخصوصا رو اين قسمتش
                        کد PHP:
                        ,FIND("]"
                        بعدش ، همينو ميشه كاري كرد كه لينكشو به شيتها هم بده ، خودم با vb درستش كردم
                        کد PHP:
                        Private Sub CommandButton1_Click()
                           
                        On Error Resume Next
                            Dim i 
                        As Integer
                                    
                        For Each sh In Worksheets
                               i 
                        1
                               ActiveSheet
                        .Hyperlinks.Add Anchor:=Cells(11), Address:=""SubAddress:="'" sh.Name "'" "!A1"TextToDisplay:=sh.Name
                            Next
                          End Sub 
                        ولي بدون كد نويسي در vb هم ميخوام ببينم ميشه .

                        تشكر
                        sigpic

                        کامنت

                        • alirezaariana

                          • 2014/06/02
                          • 8

                          #13
                          سلام
                          ضمن تشکر از راهنمایی شما
                          من دوسالی هست از این فرمول استفاده کردم خیلی عالی بود ولی الان آفیس رو آپدیت کردم در آفیس 2019 قسمت Sheetnames ارور میده

                          کامنت

                          چند لحظه..