شماره زنی خودکار و پرینت تا آخرین شماره

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • as2002
    • 2016/07/13
    • 3

    [حل شده] شماره زنی خودکار و پرینت تا آخرین شماره

    با سلام خدمت اساتید بزرگوار
    من یک شیت دارم که باید هزار عدد پرینت ازش بگیرم، مسئله اینه که هر برگ باید شماره خودش روش چاپ بشه (شماره صفحات از 1 شروع و به 1000 ختم میشه)
    یعنی اینکه تو سلول مورد نظر شماره 1 (شماره صفحه) نوشته بشه و برام پرینت گرفته بشه، بعد به شماره صفحه یکی اضافه بشه و دوباره از صفحه جدید پرینت بگیره و این کاررو تا صفحه آخر انجام بده.
    یکی از دوستان میگفت احتیاج به ماکرو داره، ممنون میشم در این مورد راهنماییم کنید.
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    نوشته اصلی توسط as2002
    با سلام خدمت اساتید بزرگوار
    من یک شیت دارم که باید هزار عدد پرینت ازش بگیرم، مسئله اینه که هر برگ باید شماره خودش روش چاپ بشه (شماره صفحات از 1 شروع و به 1000 ختم میشه)
    یعنی اینکه تو سلول مورد نظر شماره 1 (شماره صفحه) نوشته بشه و برام پرینت گرفته بشه، بعد به شماره صفحه یکی اضافه بشه و دوباره از صفحه جدید پرینت بگیره و این کاررو تا صفحه آخر انجام بده.
    یکی از دوستان میگفت احتیاج به ماکرو داره، ممنون میشم در این مورد راهنماییم کنید.
    سلام دوست عزیز
    روشی که دوستتون گفته هم امکان پذیره ولی معمولا ما برای این مواقع از ورد کمک میگیریم. قابلیتی وجود داره به نام mail margin که بین ورد و اکسل ارتباط برقرار میکنه. جستجو کنین روش استفادش رو متوجه میشید

    کامنت

    • iranweld

      • 2015/03/29
      • 3341

      #3
      اگر از یک شیت میخواهید پرینت بگیرید میتوانید با یک ماکرو ساده این کار را انجام دهید

      محدوده پرینت را در ماکرو تعریف کنید
      سلولی که بایستی شماره صفحه را نشان دهد مشخص کنید
      و با یک دستور for به تعداد مشخص شده دستور پرینت را اجرا کنید

      کد PHP:
      Sub Macro1()


          
      ActiveSheet.PageSetup.PrintArea "$C$4:$H$23"
          
          
      If Len(Range("h4")) = 0 Then Range("h4") = 1
          
          
      For Range("h4"To Range("h2")
          
          
      ActiveWindow.SelectedSheets.PrintOut Copies:=1Collate:=True_
              IgnorePrintAreas
      :=False
              
              
      If Range("h4") >= Range("h2"Then Exit For
              
              
      Range("h4") = Range("h4") + 1
              
              Next
              
      End Sub 
      فایل های پیوست شده

      کامنت

      • as2002
        • 2016/07/13
        • 3

        #4
        ممنون دوست گرامی،نمیدونستم ورد چنین خاصیتی هم داره

        کامنت

        • as2002
          • 2016/07/13
          • 3

          #5
          نوشته اصلی توسط iranweld
          اگر از یک شیت میخواهید پرینت بگیرید میتوانید با یک ماکرو ساده این کار را انجام دهید

          محدوده پرینت را در ماکرو تعریف کنید
          سلولی که بایستی شماره صفحه را نشان دهد مشخص کنید
          و با یک دستور for به تعداد مشخص شده دستور پرینت را اجرا کنید

          کد PHP:
          Sub Macro1()


              
          ActiveSheet.PageSetup.PrintArea "$C$4:$H$23"
              
              
          If Len(Range("h4")) = 0 Then Range("h4") = 1
              
              
          For Range("h4"To Range("h2")
              
              
          ActiveWindow.SelectedSheets.PrintOut Copies:=1Collate:=True_
                  IgnorePrintAreas
          :=False
                  
                  
          If Range("h4") >= Range("h2"Then Exit For
                  
                  
          Range("h4") = Range("h4") + 1
                  
                  Next
                  
          End Sub 

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

          کامنت

          • iranweld

            • 2015/03/29
            • 3341

            #6
            نمونه فایل خود را بصورت زیپ شده ضمیمه کنید

            کامنت

            چند لحظه..