مقایسه ی اعداد در نمودار

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

  • samin_panahi
    پاسخ داد
    نوشته اصلی توسط M_R_M
    شما اون تیک پاین را بردار و countinue را بزن راستی ورژن آفیستون چیه ؟
    آفیس 2010 هست

    Leave a comment:


  • mokaram
    پاسخ داد
    شما اون تیک پاین را بردار و countinue را بزن راستی ورژن آفیستون چیه ؟
    با تشکر از m_r_m عزیز که تبهرشون در کد زدن برا همه اثبات شدس
    استاد چیزی که بلد نیستم ولی اگه مطلبی هم یاد گرفتم از لطف شما دوستان عزیز بوده یا به قولی اساتید خوبی داشتم همونطوری که تو سالها و روزهای گذشته کمکم کردید تو مطالب مختلف ، حالا بر خود واجب می بینم اگه مطلبی هم بلدم به دوستان دیگه انتقال بدم

    Leave a comment:


  • samin_panahi
    پاسخ داد
    نوشته اصلی توسط samin_panahi
    ممنون از همه ی دوستان
    من تقریبا تونستم اونطوری که می خوام کد رو تغییر بدم فقط وقتی می خوام ذخیره ش کنم این پیغام رو می ده:



    مشکل چیه؟
    اگه همینجوری ذخیره کنم تو یه کامپیوتر دیگه هم برنامه هایی که نوشتم کار می کنه
    یا باید اونجا هم یه بار دیگه بنویسم؟
    می شه لطف کنید این سوالم رو هم جواب بدید؟

    Leave a comment:


  • samin_panahi
    پاسخ داد
    ممنون از همه ی دوستان
    من تقریبا تونستم اونطوری که می خوام کد رو تغییر بدم فقط وقتی می خوام ذخیره ش کنم این پیغام رو می ده:



    مشکل چیه؟
    اگه همینجوری ذخیره کنم تو یه کامپیوتر دیگه هم برنامه هایی که نوشتم کار می کنه
    یا باید اونجا هم یه بار دیگه بنویسم؟

    Leave a comment:


  • komeilex
    پاسخ داد
    نوشته اصلی توسط samin_panahi
    چون خودم برنامه نویسم کد ها رو کم و بیش متوجه می شم
    فقط اینکه راهنمایی کنید برای این کار قدم به قدم چکار کنم ممنون می شم
    اول جدول رو با اطلاعاتش وارد می کنم
    بعد چارت می کشم؟
    ....

    کدش همینه؟
    کجا باید کد بنویسم؟
    کد:
    private sub worksheet_activate()
    dim c as range
    dim i as integer
      i = 1
    for each c in sheet1.range("b3:b15")
        if c.value < sheet1.range("d1").value then
            sheet2.chartobjects("chart 1").activate
            activechart.seriescollection(1).select
            activechart.seriescollection(1).points(i).select
            with selection.format.fill
                .visible = msotrue
                .forecolor.rgb = rgb(255, 0, 0)
            end with
        elseif c.value >= sheet1.range("d1").value and c.value < sheet1.range("e1").value then
                activesheet.chartobjects("chart 1").activate
                activechart.seriescollection(1).select
                activechart.seriescollection(1).points(i).select
                with selection.format.fill
                    .visible = msotrue
                    .forecolor.rgb = rgb(0, 255, 255)
                end with
        end if
        if c.value > sheet1.range("e1").value then
            sheet2.chartobjects("chart 1").activate
            activechart.seriescollection(1).select
            activechart.seriescollection(1).points(i).select
            with selection.format.fill
                .visible = msotrue
                .forecolor.rgb = rgb(0, 0, 0)
            end with
        end if
        i = i + 1
    next
    end sub
    همینا رو اینجوری قدم به قدم بگید ممنون می شم
    سلام دوست عزیز.
    با تشکر از m_r_m عزیز که تبهرشون در کد زدن برا همه اثبات شدس
    من به شما پیشنهاد می کنم از همون روش آقای مسعودیان استفاده کنین.
    چون ورود به وادی برنامه نویسی در اکسل نیازمند آشنایی کامل با تمامی ابزارهای خود اکسل هست و اگه زود برین سراغ این بخش ممکنه سردر گم بشین.
    البته تمام چیزایی که گفتم فقط یه راهنمایی کوچولو بود. بازم هر جور خودتون صلاح می دونین. موفق باشین.

    Leave a comment:


  • Amir Ghasemiyan
    پاسخ داد
    نوشته اصلی توسط samin_panahi
    جایگزینی نداره؟
    چند راه داره
    بستگي به رنجي كه انتخاب ميكنين داره
    يك راه سادش اينه كه مثلا در سلول A1 رنج مورد نظر رو بنويسيد بعد اينو به عنوان يك متغير وارد كنين و استفاده كنين
    اگر رنجتون فقط يك ستون باشه ميشه از if استفاده كنيد. اينطوري كه رنجتن رو بذارين B:B و بعد شرط if رو بذارين كه مقدارش خالي نباشه

    Leave a comment:


  • samin_panahi
    پاسخ داد
    جایگزینی نداره؟

    Leave a comment:


  • samin_panahi
    پاسخ داد
    خیلی ممنون
    الان یه سوال دیگه دارم
    اگه بخوام range سلول ها رو هم مثل اون اعدادی که تو d1 و e1 وارد کردید یه جا وارد کنم که داینامیک باشه و بدون رفتن تو محیط برنامه نویسی بشه تغییرش داد باید چکار کنم؟
    به جای این چی باید بنویسم؟
    کد:
    For Each c In Sheet1.Range("b3:b15")

    Leave a comment:


  • mokaram
    پاسخ داد
    دوست عزیز شما اول وارد محیط برنامه نویسی بشید بعد از سمت چپ لیست شیت ها مشخص هست بر روی شیتی که نمودار توش رسم شده دابل کلیک کنید صفحه سفیدی باز میشه بر روی کادر قرمز رنگ کلیک کرده و worksheet را انتخاب کنید
    Click image for larger version

Name:	1.JPG
Views:	1
Size:	16.1 کیلو بایت
ID:	122854
    بعد از منوی سمت راست Activate را انتخاب کنید و کد را در این قسمت بنویسید
    Click image for larger version

Name:	2.JPG
Views:	1
Size:	17.4 کیلو بایت
ID:	122855

    Leave a comment:


  • samin_panahi
    پاسخ داد
    نوشته اصلی توسط M_R_M
    تو خونه های D1 و E1 در شیت سورس شرط نوشته شده (البته اگه شما با VBA آشنایی نداشته باشی کارت سخت میشه :indifferent: )
    چون خودم برنامه نویسم کد ها رو کم و بیش متوجه می شم
    فقط اینکه راهنمایی کنید برای این کار قدم به قدم چکار کنم ممنون می شم
    اول جدول رو با اطلاعاتش وارد می کنم
    بعد چارت می کشم؟
    ....

    کدش همینه؟
    کجا باید کد بنویسم؟
    کد:
    Private Sub Worksheet_Activate()
    Dim c As Range
    Dim i As Integer
      i = 1
    For Each c In Sheet1.Range("b3:b15")
        If c.Value < Sheet1.Range("d1").Value Then
            Sheet2.ChartObjects("Chart 1").Activate
            ActiveChart.SeriesCollection(1).Select
            ActiveChart.SeriesCollection(1).Points(i).Select
            With Selection.Format.Fill
                .Visible = msoTrue
                .ForeColor.RGB = RGB(255, 0, 0)
            End With
        ElseIf c.Value >= Sheet1.Range("d1").Value And c.Value < Sheet1.Range("e1").Value Then
                ActiveSheet.ChartObjects("Chart 1").Activate
                ActiveChart.SeriesCollection(1).Select
                ActiveChart.SeriesCollection(1).Points(i).Select
                With Selection.Format.Fill
                    .Visible = msoTrue
                    .ForeColor.RGB = RGB(0, 255, 255)
                End With
        End If
        If c.Value > Sheet1.Range("e1").Value Then
            Sheet2.ChartObjects("Chart 1").Activate
            ActiveChart.SeriesCollection(1).Select
            ActiveChart.SeriesCollection(1).Points(i).Select
            With Selection.Format.Fill
                .Visible = msoTrue
                .ForeColor.RGB = RGB(0, 0, 0)
            End With
        End If
        i = i + 1
    Next
    End Sub
    همینا رو اینجوری قدم به قدم بگید ممنون می شم

    Leave a comment:


  • samin_panahi
    پاسخ داد
    نوشته اصلی توسط masoudian
    این فایلی که من تهیه کردم نیاز به vba نداره با همون شرطهای ساده اکسل رسم میشه اکه تو خونه های مربوط به داده های نمودار کلیک کنید خیلی راحت متوجه میشید بازم اگر سوالی بود در خدمتم
    متوجه نشدمش
    فقط اون تیکه که شرط گذاشتید و اعداد رو طبقه بندی کردید برام مفهوم بود
    بقیه ش رو نمی دونم چکار کردید!

    Leave a comment:


  • samin_panahi
    پاسخ داد
    نوشته اصلی توسط masoudian
    یه نوع دیگه هم من درست کردم که پیوست شد
    ممنون

    Leave a comment:


  • masoudian
    پاسخ داد
    این فایلی که من تهیه کردم نیاز به vba نداره با همون شرطهای ساده اکسل رسم میشه اکه تو خونه های مربوط به داده های نمودار کلیک کنید خیلی راحت متوجه میشید بازم اگر سوالی بود در خدمتم

    Leave a comment:


  • samin_panahi
    پاسخ داد
    نوشته اصلی توسط M_R_M
    تو خونه های D1 و E1 در شیت سورس شرط نوشته شده (البته اگه شما با VBA آشنایی نداشته باشی کارت سخت میشه :indifferent: )
    متاسفانه آشنایی ندارم
    البته خودم برنامه نویسی می کنم ولی این زبان رو تاحالا کار نکردم
    چطور می شه اینو یاد گرفت؟ فعلا همین مساله برام مهمه، نمی خوام همش رو یاد بگیرم!

    Leave a comment:


  • masoudian
    پاسخ داد
    یه نوع دیگه هم من درست کردم که پیوست شد
    فایل های پیوست شده

    Leave a comment:

چند لحظه..