مقدار پیش فرض سلول

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

    • 2016/05/30
    • 23

    [حل شده] مقدار پیش فرض سلول

    سلام میخوام برای یه سلول مقدار پیشفرض بزارم که اگه خودمون دستی بهش مقدار دادیم که همون مقدارو بگیره در غیر اینصورت به صورت پیش فرض برابر بشه با مقدار یه سول دیگه من تازه دارم vb یاد میگیرم اگه فایل ضمیمه کنید ممنون میشم مرسی از لطفتون
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    سلام دوست عزيز
    اين فايل رو ملاحظه بفرماييد
    مقدار پيش فرض رو در سلول a1 وارد كنيد و مقدار را در سلول a2 وارد كنيد
    فایل های پیوست شده

    کامنت

    • golchehre

      • 2016/05/30
      • 23

      #3
      نوشته اصلی توسط amir ghasemiyan
      سلام دوست عزيز
      اين فايل رو ملاحظه بفرماييد
      مقدار پيش فرض رو در سلول a1 وارد كنيد و مقدار را در سلول a2 وارد كنيد
      ممنون از لطفتون جناب قاسمیان تو نمونه ای که ارسال کردید در صورتی که سلول a2 مفدارش رو پاک کنیم و مقدارش خالی باشه مقدار a1 رو میگیره ولی من میخوام به صورت خودکار هر تغییری در سلول a1 وارد بشه در سلول a2 نیز اعمال بشه یعنی مثلا وقتی a1 برابر با 10 میزاریم a2 هم مقدارش در لحظه 10 بشه مگر اینکه خودمون به a2 مقدار بدیم ممنون از وقتی که میزارید

      کامنت

      • Amir Ghasemiyan

        • 2013/09/20
        • 4598
        • 100.00

        #4
        نوشته اصلی توسط golchehre
        ممنون از لطفتون جناب قاسمیان تو نمونه ای که ارسال کردید در صورتی که سلول a2 مفدارش رو پاک کنیم و مقدارش خالی باشه مقدار a1 رو میگیره ولی من میخوام به صورت خودکار هر تغییری در سلول a1 وارد بشه در سلول a2 نیز اعمال بشه یعنی مثلا وقتی a1 برابر با 10 میزاریم a2 هم مقدارش در لحظه 10 بشه مگر اینکه خودمون به a2 مقدار بدیم ممنون از وقتی که میزارید
        بسيار خب
        اگر مقدار سلول a2 رو خالي كرديد چه اتفاقي بيفته؟ خالي بمونه يا مقدار a1 رو بگيره؟

        کامنت

        • golchehre

          • 2016/05/30
          • 23

          #5
          نوشته اصلی توسط Amir Ghasemiyan
          بسيار خب
          اگر مقدار سلول a2 رو خالي كرديد چه اتفاقي بيفته؟ خالي بمونه يا مقدار a1 رو بگيره؟
          ترجیحا خالی بمونه ولی اگه برای هردوش مثال بزنید ممنون میشم
          Last edited by golchehre; 2018/08/04, 13:13.

          کامنت

          • Amir Ghasemiyan

            • 2013/09/20
            • 4598
            • 100.00

            #6
            نوشته اصلی توسط golchehre
            ترجیحا خالی بمونه ولی اگه برای هردوش مثال بزنید ممنون میشم

            پس من كدها رو ميدم خدمتتون خودتون جايگذاري كنيد

            اين كد براي اينكه اگر مقدار رو خالي گذاشتيد خالي بمونه
            کد:
            Private Sub Worksheet_Change(ByVal Target As Range)
            default_value = Range("A1").Value
            If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
            Range("A2").Value = default_value
            End Sub
            و اين كد براي حالتي كه در صورت خالي كردن مقدار پيش فرض رو بگيره
            کد:
            Private Sub Worksheet_Change(ByVal Target As Range)
            default_value = Range("A1").Value
            If Not Intersect(Target, Range("A1")) Is Nothing Then
                Range("A2").Value = default_value
            ElseIf Not Intersect(Target, Range("A2")) Is Nothing Then
                If Range("A2") = "" Then Range("A2") = default_value
            Else
                Exit Sub
            End If
            End Sub

            کامنت

            • golchehre

              • 2016/05/30
              • 23

              #7
              نوشته اصلی توسط Amir Ghasemiyan

              پس من كدها رو ميدم خدمتتون خودتون جايگذاري كنيد

              اين كد براي اينكه اگر مقدار رو خالي گذاشتيد خالي بمونه
              کد:
              Private Sub Worksheet_Change(ByVal Target As Range)
              default_value = Range("A1").Value
              If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
              Range("A2").Value = default_value
              End Sub
              و اين كد براي حالتي كه در صورت خالي كردن مقدار پيش فرض رو بگيره
              کد:
              Private Sub Worksheet_Change(ByVal Target As Range)
              default_value = Range("A1").Value
              If Not Intersect(Target, Range("A1")) Is Nothing Then
                  Range("A2").Value = default_value
              ElseIf Not Intersect(Target, Range("A2")) Is Nothing Then
                  If Range("A2") = "" Then Range("A2") = default_value
              Else
                  Exit Sub
              End If
              End Sub
              خیلی ممنون از لطفتون جناب قاسمی یه سوال دیگه داشتم ببخشید وقتتونو زیاد میگیرم قبلا زحمت کشیدید و کد زیر را برای ساعت پویا برام نوشتید فقط همونطور که اشاره کردید برنامرو کند میکنه
              Dim SchedRecalc As Date

              Sub Recalc()
              Sheet2.Range("B2").Value = Format(Time, "hh:mm:ss")
              Call SetTime
              End Sub

              Sub SetTime()
              SchedRecalc = Now + TimeValue("00:00:01")
              Application.OnTime SchedRecalc, "Recalc"
              End Sub
              اگه من بخوام درون شیت یه لیبل بزارم و کد زیر براش با باز شدن شیت (نه با دبل کلیک بر روی لیبل) اجرا بشه چه جوری باید تغییر کنه
              Private Sub Label1_Click()
              a:
              DoEvents
              Label1.Caption = Time
              DoEvents
              GoTo a:
              End Sub

              باید کد رو درون Private Sub Worksheet_Activate() بنویسم درسته؟ و اینکه چطور بگم کد پشت لیبل درون شیت اجرا بشه

              کامنت

              • golchehre

                • 2016/05/30
                • 23

                #8
                خیلی ممنون از لطفتون جناب قاسمی یه سوال دیگه داشتم ببخشید وقتتونو زیاد میگیرم قبلا زحمت کشیدید و کد زیر را برای ساعت پویا برام نوشتید فقط همونطور که اشاره کردید برنامرو کند میکنه
                Dim SchedRecalc As Date

                Sub Recalc()
                Sheet2.Range("B2").Value = Format(Time, "hh:mm:ss")
                Call SetTime
                End Sub

                Sub SetTime()
                SchedRecalc = Now + TimeValue("00:00:01")
                Application.OnTime SchedRecalc, "Recalc"
                End Sub


                اگه من بخوام به جای استفاده از کد بالا از کد زیر (که به نظر کندیه کمتری محسوس میشه) استفاده کنم باید درون شیت یه لیبل بزارم و کد را داخل اون بنویسم فقط مشکل اینجاست که برای اجرا کردنش باید روی لیبل کلیک کنم ؛ میخوام یه حالتی پیش بیاد که بدون اینکه نیاز به کلیک باشه به صورت خودکار با باز شدن شیت یا فایل مربوطه کد ساعت اجرا بشه خیلی ممنون
                Private Sub Label1_Click()
                a:
                DoEvents
                Label1.Caption = Time
                DoEvents
                GoTo a:
                End Sub
                فایل های پیوست شده

                کامنت

                چند لحظه..