دفتر کل با vba

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

    • 2015/12/22
    • 118
    • 54.00

    [حل شده] دفتر کل با vba

    با سلام خدمت اساتید

    با توجه به فایل ضمیمه جدول داخل شیت دفتر کل، ردیف شرح، بعد از تاریخ دارای لینک و vba میباشد.(طبق سند شماره ...)
    1- یک روش یا کدی که باعث بشه کل آن ردیف این طور باشه نه اینکه دونه به دونه تعریفش کنیم که زمان زیادی میبره.
    2- همچنین لینک بشه به کد مربوطه.
    البته بعد از روئیت فایل بهتر متوجه میشوید.

    با تشکر فراوان
    فایل های پیوست شده
    هر گاه خدا تو را به لبه پرتگاه برد باز به او اعتماد کن چون يا تو را از پشت خواهد گرفت يا پرواز را به تو خواهد آموخت
  • M_ExceL

    • 2018/04/23
    • 677

    #2
    نوشته اصلی توسط ناصر خان خان
    با سلام خدمت اساتید

    با توجه به فایل ضمیمه جدول داخل شیت دفتر کل، ردیف شرح، بعد از تاریخ دارای لینک و vba میباشد.(طبق سند شماره ...)
    1- یک روش یا کدی که باعث بشه کل آن ردیف این طور باشه نه اینکه دونه به دونه تعریفش کنیم که زمان زیادی میبره.
    2- همچنین لینک بشه به کد مربوطه.
    البته بعد از روئیت فایل بهتر متوجه میشوید.

    با تشکر فراوان
    سلام،
    تمام شیپ هایی که در سلول های مورد نظر ایجاد کردید حذف کنید، سپس کد زیر رو تست کنید :
    کد PHP:
    Sub REC()
    Application.ScreenUpdating False
    On Error Resume Next
    For 1 To 296
        
    If ActiveSheet.Shapes("Rec" iIs Nothing Then
            ActiveSheet
    .Shapes.AddShape(msoShapeRectangle135136.68115).Select
            Selection
    .Name "Rec" i
            Selection
    .Formula "=$Z$" 4
            ActiveSheet
    .Shapes("Rec" i).Left Cells(45).Left
            ActiveSheet
    .Shapes("Rec" i).Top Cells(45).Top
            ActiveSheet
    .Shapes("Rec" i).Height Cells(45).Height
            ActiveSheet
    .Shapes("Rec" i).Width Cells(45).Width
        End 
    If
    Next i
    Application
    .ScreenUpdating True
    End Sub 
    [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
    [/CENTER]

    کامنت

    • ناصر خان خان

      • 2015/12/22
      • 118
      • 54.00

      #3
      استاد گرامی مثل همیشه دمت گرم کارت درسته

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

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

      امیدوارم درست و کامل توضیح داده باشم.


      متشکرم
      Last edited by ناصر خان خان; 2019/05/18, 16:33.
      هر گاه خدا تو را به لبه پرتگاه برد باز به او اعتماد کن چون يا تو را از پشت خواهد گرفت يا پرواز را به تو خواهد آموخت

      کامنت

      • ناصر خان خان

        • 2015/12/22
        • 118
        • 54.00

        #4
        نوشته اصلی توسط ناصر خان خان
        استاد گرامی مثل همیشه دمت گرم کارت درسته

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

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

        امیدوارم درست و کامل توضیح داده باشم.


        متشکرم

        الان چک کردم ظاهرا بعد از کپی فایل که برای شما فرستادم، یه مشکلی تو فایل پیدا شده.
        لطفا ماژول 3 رو نگاه کنید متوجه میشید که چی میخوام.
        مجددا ارسال میکنم

        ممنونم
        Last edited by ناصر خان خان; 2019/05/18, 16:52.
        هر گاه خدا تو را به لبه پرتگاه برد باز به او اعتماد کن چون يا تو را از پشت خواهد گرفت يا پرواز را به تو خواهد آموخت

        کامنت

        • ناصر خان خان

          • 2015/12/22
          • 118
          • 54.00

          #5
          دفتر کل(مجدد)

          ارسال مجدد فایل
          فایل های پیوست شده
          هر گاه خدا تو را به لبه پرتگاه برد باز به او اعتماد کن چون يا تو را از پشت خواهد گرفت يا پرواز را به تو خواهد آموخت

          کامنت

          • M_ExceL

            • 2018/04/23
            • 677

            #6
            نوشته اصلی توسط ناصر خان خان
            ارسال مجدد فایل
            سلام،
            فکر میکنم کد زیر مشکل شما رو حل میکنه،
            تمام شیپها رو از روی سلول های مورد نظر حذف کنید
            طبق فایل پیوست کد زیر رو داخل رویداد SelectionChange شیت "دفتر کل" کپی کنید
            کد PHP:
            Private Sub Worksheet_SelectionChange(ByVal Target As Range)
            If 
            Target.Address Sheets("دفتر کل").Range("e" Target.Row).Address Then
                
            If Target.Row >= And Target.Row <= 300 Then
                    Sheets
            ("گزارش سند").Activate
                    Sheets
            ("گزارش سند").Range("e4").Value Sheets("دفتر کل").Range("a" Target.Row).Value
                End 
            If
            End If
            End Sub 
            اکنون با کلیک بر روی سلول های رنج "e5:e300" شیت "دفتر کل" ، بطور خودکار خواسته شما انجام می پذیرد.
            فایل های پیوست شده
            [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
            [/CENTER]

            کامنت

            • ناصر خان خان

              • 2015/12/22
              • 118
              • 54.00

              #7
              نوشته اصلی توسط M_ExceL
              سلام،
              فکر میکنم کد زیر مشکل شما رو حل میکنه،
              تمام شیپها رو از روی سلول های مورد نظر حذف کنید
              طبق فایل پیوست کد زیر رو داخل رویداد SelectionChange شیت "دفتر کل" کپی کنید
              کد PHP:
              Private Sub Worksheet_SelectionChange(ByVal Target As Range)
              If 
              Target.Address Sheets("دفتر کل").Range("e" Target.Row).Address Then
                  
              If Target.Row >= And Target.Row <= 300 Then
                      Sheets
              ("گزارش سند").Activate
                      Sheets
              ("گزارش سند").Range("e4").Value Sheets("دفتر کل").Range("a" Target.Row).Value
                  End 
              If
              End If
              End Sub 
              اکنون با کلیک بر روی سلول های رنج "e5:e300" شیت "دفتر کل" ، بطور خودکار خواسته شما انجام می پذیرد.

              استاد ممنون و متشکر
              خودشه درست شد.
              1- فقط میشه سلولهای خالی و حساب نکنه تا موقع ای که خالی هستند؟؟؟؟؟
              اگه این کار و هم بکنه که خیلی عالی میشه.

              2- یه لطف دیگه یه کاری کنید موقع حرکت نشانگر موس روی سلول ها نشان لینک ظاهر بشه.
              مثل زمانی که سلول لینکه.
              Last edited by ناصر خان خان; 2019/05/19, 02:35.
              هر گاه خدا تو را به لبه پرتگاه برد باز به او اعتماد کن چون يا تو را از پشت خواهد گرفت يا پرواز را به تو خواهد آموخت

              کامنت

              • M_ExceL

                • 2018/04/23
                • 677

                #8
                نوشته اصلی توسط ناصر خان خان

                استاد ممنون و متشکر
                خودشه درست شد.
                1- فقط میشه سلولهای خالی و حساب نکنه تا موقع ای که خالی هستند؟؟؟؟؟
                اگه این کار و هم بکنه که خیلی عالی میشه.

                2- یه لطف دیگه یه کاری کنید موقع حرکت نشانگر موس روی سلول ها نشان لینک ظاهر بشه.
                مثل زمانی که سلول لینکه.
                کد رو به صورت زیر اصلاح کنید :
                کد PHP:
                Private Sub Worksheet_SelectionChange(ByVal Target As Range)
                If 
                Target.Address Sheets("دفتر کل").Range("e" Target.Row).Address Then
                    
                If Target.Row >= And Target.Row <= 300 And Target <> "" Then
                        Sheets
                ("گزارش سند").Activate
                        Sheets
                ("گزارش سند").Range("e4").Value Sheets("دفتر کل").Range("a" Target.Row).Value
                        
                    End 
                If
                End If
                End Sub 
                محدوده "e5:e300" شیت "دفتر کل" رو انتخاب کنید
                روی اون راست کلیک کرده سپس hyperlink کنید به شیت "گزارش سند"
                اکنون دو مشکلی که مطرح فرمودید حل میشود.
                یا حق.
                Last edited by M_ExceL; 2019/05/19, 03:49.
                [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
                [/CENTER]

                کامنت

                • ناصر خان خان

                  • 2015/12/22
                  • 118
                  • 54.00

                  #9
                  استاد مرسی مثل همیشه دمت گرم
                  هر گاه خدا تو را به لبه پرتگاه برد باز به او اعتماد کن چون يا تو را از پشت خواهد گرفت يا پرواز را به تو خواهد آموخت

                  کامنت

                  چند لحظه..