جلوگیری از تغییر عرض ستونها در هنگام انتقال یک فایل از یک سیستم به سیستم دیگر

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

    • 2015/06/09
    • 10

    جلوگیری از تغییر عرض ستونها در هنگام انتقال یک فایل از یک سیستم به سیستم دیگر

    با سلام
    من یک فایل اکسل تهیه کردم وقتی میخواهم این فایل را از یک سیستم به سیستم دیگه انتقال بدم با مشکل تغییر عرض ستونها مواجه میشوم .لازم به ذکر است اینجانب در vb اکسل یک کد که عرض ستونها را در ابتدای برنامه تعیین میکنه نوشتم ولی وقتی فایل را در سیستم دیگر باز کردم بازهم با مشکل بهم ریختگی ستونها مواجه شدم .
    از تمامی دوستان واساتید محترم درخواست کمک دارم
  • ordouei

    • 2013/05/01
    • 68
    • 45.00

    #2
    با سلام
    کد خود را در
    Private Sub Workbook_Open()


    End Sub
    بنویسید

    کامنت

    • mtf

      • 2015/06/09
      • 10

      #3
      دوست عزیز شما فکر کردید من کد را با
      private Sub Workbook_close اجرا کردم؟ خوب با کدprivate Sub Workbook_open اجرا کردم جواب نداد عرض ستونها بهم میریزه و نوشته های داخل سلول نصفه نیمه نشون میده .بسته به نوع مانیتور بهم ریختگی ستونها متفاوته

      کامنت

      • mtf

        • 2015/06/09
        • 10

        #4
        یکی نیست این مشکل را حل کنه؟
        خیلی حیاتیه

        کامنت

        • rahi_feri

          • 2014/08/08
          • 524
          • 94.67

          #5
          سلام
          مطمئنید ایراد از کد نیست!؟
          در غیر این صورت میتونه یه دلیلش تغییر تم سیستم ها و همچنین سایز صفحه نمایش! اندازه عرض ستون به فاکتورهای مختلفی بستگی داره !


          ب
          Last edited by rahi_feri; 2017/01/16, 22:28.
          [B][SIZE=1]بخش امضاء :
          [/SIZE][/B][LEFT]
          [CODE]
          Sub Macro()
          ActiveCell = "IY" & Right(Application.Name, 5)
          With ActiveCell.Characters(Start:=2, Length:=1).Font
          .Name = "Webdings"
          .Color = 255
          End With
          End Sub
          [/CODE]
          [/LEFT]

          کامنت

          • rahi_feri

            • 2014/08/08
            • 524
            • 94.67

            #6
            این کد برای تغییر سایز اتوماتیکه! یه امتحانی بکنید!

            کد:
            [COLOR=#00007F]Dim[/COLOR] sht [COLOR=#00007F]As[/COLOR] Worksheet
                [COLOR=#00007F]For[/COLOR] [COLOR=#00007F]Each[/COLOR] sht [COLOR=#00007F]In[/COLOR] ThisWorkbook.Worksheets
                    sht.Cells.EntireColumn.AutoFit
                [COLOR=#00007F]Next[/COLOR] sht
            [B][SIZE=1]بخش امضاء :
            [/SIZE][/B][LEFT]
            [CODE]
            Sub Macro()
            ActiveCell = "IY" & Right(Application.Name, 5)
            With ActiveCell.Characters(Start:=2, Length:=1).Font
            .Name = "Webdings"
            .Color = 255
            End With
            End Sub
            [/CODE]
            [/LEFT]

            کامنت

            • mtf

              • 2015/06/09
              • 10

              #7
              سلام دوست عزیز
              به دلیل شخصی بودن اطلاعات کاربران در فایل اکسل مورد بحث،کد vb مشابه فایل اصلی براتون ارسال میکنم
              ولی این فایل در سیستم دیگه (با مانیتور متفاوت)دچار بهم ریختگی عرض ستونها میشه و اجرا شدن کد مشکلا حل نمیکنه !
              Private Sub Workbook_Open()
              Columns("A:A").ColumnWidth = 8
              Columns("B:B").ColumnWidth = 12
              Columns("C:C").ColumnWidth = 6
              Columns("D:D").ColumnWidth = 2.3
              Columns("E:E").ColumnWidth = 1.1
              Columns("F:F").ColumnWidth = 5.5
              Columns("G:G").ColumnWidth = 15
              Columns("H:H").ColumnWidth = 22
              End Sub

              کامنت

              • mtf

                • 2015/06/09
                • 10

                #8
                دوست عزیز ممنون از لطف شما
                سلولهای فایل من در ردیفهای مختلف به طور نامنظم merge شدن واین دستور در این حالت کمکی نمیکنه

                کامنت

                • rahi_feri

                  • 2014/08/08
                  • 524
                  • 94.67

                  #9
                  با مقدار بیشتر عرض ستون امتحان کنید تا در جابه جایی بین سیستم ها دارای انعطاف باشه!
                  یا می تونید گزینه shrink to fit رو هم در ابتدا فعال کنید!
                  از یه صفحه نمایش کوچکتر به بزرگتر میرید این اتفاق میفته؟ یا از بزرگتر به کوچکتر؟ یا در هر دو حالت اتفاق میفته؟
                  [B][SIZE=1]بخش امضاء :
                  [/SIZE][/B][LEFT]
                  [CODE]
                  Sub Macro()
                  ActiveCell = "IY" & Right(Application.Name, 5)
                  With ActiveCell.Characters(Start:=2, Length:=1).Font
                  .Name = "Webdings"
                  .Color = 255
                  End With
                  End Sub
                  [/CODE]
                  [/LEFT]

                  کامنت

                  چند لحظه..