PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقایسه ی اعداد در نمودار



samin_panahi
2014/05/08, 06:43
سلام
یه سری شماره دانشجویی دارم و برای هر شماره دانشجویی هم یه نمره
می خوام یه نمودار بکشم که محور افقی شماره دانشجویی باشه محور عمودی نمره
بعد تو نمودار نمرات اونایی که کمتر از 10 شده قرمز باشه، 10 تا 15 آبی بالای 15 هم مشکی
ممنون می شم راهنماییم کنید

mokaram
2014/05/08, 09:07
خدمت شما دوست گرامی

samin_panahi
2014/05/08, 10:22
خیلی ممنون، فقط اینو چه جوری درست کردید؟
شرط رو کجا باید وارد کرد؟

mokaram
2014/05/08, 10:34
خیلی ممنون، فقط اینو چه جوری درست کردید؟
شرط رو کجا باید وارد کرد؟

تو خونه های D1 و E1 در شیت سورس شرط نوشته شده (البته اگه شما با VBA آشنایی نداشته باشی کارت سخت میشه :indifferent: )

masoudian
2014/05/08, 10:40
یه نوع دیگه هم من درست کردم که پیوست شد:d

samin_panahi
2014/05/08, 10:40
تو خونه های D1 و E1 در شیت سورس شرط نوشته شده (البته اگه شما با VBA آشنایی نداشته باشی کارت سخت میشه :indifferent: )
متاسفانه آشنایی ندارم :(
البته خودم برنامه نویسی می کنم ولی این زبان رو تاحالا کار نکردم
چطور می شه اینو یاد گرفت؟ فعلا همین مساله برام مهمه، نمی خوام همش رو یاد بگیرم!

masoudian
2014/05/08, 10:41
این فایلی که من تهیه کردم نیاز به vba نداره با همون شرطهای ساده اکسل رسم میشه اکه تو خونه های مربوط به داده های نمودار کلیک کنید خیلی راحت متوجه میشید بازم اگر سوالی بود در خدمتم
:o

samin_panahi
2014/05/08, 10:42
یه نوع دیگه هم من درست کردم که پیوست شد:d

ممنون

samin_panahi
2014/05/08, 10:47
این فایلی که من تهیه کردم نیاز به vba نداره با همون شرطهای ساده اکسل رسم میشه اکه تو خونه های مربوط به داده های نمودار کلیک کنید خیلی راحت متوجه میشید بازم اگر سوالی بود در خدمتم
:o

متوجه نشدمش
فقط اون تیکه که شرط گذاشتید و اعداد رو طبقه بندی کردید برام مفهوم بود
بقیه ش رو نمی دونم چکار کردید!

samin_panahi
2014/05/08, 11:31
تو خونه های 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


همینا رو اینجوری قدم به قدم بگید ممنون می شم

mokaram
2014/05/08, 12:15
دوست عزیز شما اول وارد محیط برنامه نویسی بشید بعد از سمت چپ لیست شیت ها مشخص هست بر روی شیتی که نمودار توش رسم شده دابل کلیک کنید صفحه سفیدی باز میشه بر روی کادر قرمز رنگ کلیک کرده و worksheet را انتخاب کنید
3303
بعد از منوی سمت راست Activate را انتخاب کنید و کد را در این قسمت بنویسید
3304

samin_panahi
2014/05/08, 15:35
خیلی ممنون
الان یه سوال دیگه دارم
اگه بخوام range سلول ها رو هم مثل اون اعدادی که تو d1 و e1 وارد کردید یه جا وارد کنم که داینامیک باشه و بدون رفتن تو محیط برنامه نویسی بشه تغییرش داد باید چکار کنم؟
به جای این چی باید بنویسم؟

For Each c In Sheet1.Range("b3:b15")

samin_panahi
2014/05/08, 23:31
جایگزینی نداره؟

Amir Ghasemiyan
2014/05/08, 23:54
جایگزینی نداره؟

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

komeilex
2014/05/09, 12:13
چون خودم برنامه نویسم کد ها رو کم و بیش متوجه می شم
فقط اینکه راهنمایی کنید برای این کار قدم به قدم چکار کنم ممنون می شم
اول جدول رو با اطلاعاتش وارد می کنم
بعد چارت می کشم؟
....

کدش همینه؟
کجا باید کد بنویسم؟


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 عزیز که تبهرشون در کد زدن برا همه اثبات شدس:)
من به شما پیشنهاد می کنم از همون روش آقای مسعودیان استفاده کنین.
چون ورود به وادی برنامه نویسی در اکسل نیازمند آشنایی کامل با تمامی ابزارهای خود اکسل هست و اگه زود برین سراغ این بخش ممکنه سردر گم بشین.
البته تمام چیزایی که گفتم فقط یه راهنمایی کوچولو بود. بازم هر جور خودتون صلاح می دونین. موفق باشین.

samin_panahi
2014/05/09, 13:40
ممنون از همه ی دوستان
من تقریبا تونستم اونطوری که می خوام کد رو تغییر بدم فقط وقتی می خوام ذخیره ش کنم این پیغام رو می ده:

http://s5.picofile.com/file/8122678234/02.png

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

samin_panahi
2014/05/09, 22:04
ممنون از همه ی دوستان
من تقریبا تونستم اونطوری که می خوام کد رو تغییر بدم فقط وقتی می خوام ذخیره ش کنم این پیغام رو می ده:

http://s5.picofile.com/file/8122678234/02.png

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

می شه لطف کنید این سوالم رو هم جواب بدید؟

mokaram
2014/05/10, 07:57
شما اون تیک پاین را بردار و countinue را بزن راستی ورژن آفیستون چیه ؟

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

samin_panahi
2014/05/10, 12:01
شما اون تیک پاین را بردار و countinue را بزن راستی ورژن آفیستون چیه ؟



آفیس 2010 هست