PDA

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



mmousavi
2014/04/26, 13:56
سلام من میخوام یه فرمول بنویسم که اگه شرایط معینی برقرار بود اکسل پیغام یا اخطار خاصی رو تو صفحه اصلی و شروع نرم افزار نمایش بده. آیا امکانش هست؟

~M*E*H*D*I~
2014/04/26, 14:01
سلام من میخوام یه فرمول بنویسم که اگه شرایط معینی برقرار بود اکسل پیغام یا اخطار خاصی رو تو صفحه اصلی و شروع نرم افزار نمایش بده. آیا امکانش هست؟

بدون امکانات vba به دو روش امکان ایجاد شرط وجود داره

1 - استفاده از دیتاولیدیشن

2- استفاده از کاندیشنال فرمتینگ

حالا بفرمایید چه کاری قراره انجام بشه تا بهتر راهنمایی بشید

mmousavi
2014/04/26, 14:14
با تشکر. یه پورتفوی سهام ایجاد کردم . میخوام اگر قیمت یک سهام خاص از قیمت خاص بالاتر یا پایین تر رفت موقع باز کردن نرم افزار بهم هشدار بده.

~M*E*H*D*I~
2014/04/26, 14:53
با تشکر. یه پورتفوی سهام ایجاد کردم . میخوام اگر قیمت یک سهام خاص از قیمت خاص بالاتر یا پایین تر رفت موقع باز کردن نرم افزار بهم هشدار بده.

پیشنهاد بنده به شما استفاده از کاندیشنال فرمتینگ هست که به لحاظ بصری هم شیت رو زیباتر میکنه

3165

mokaram
2014/04/26, 14:57
از طریق VBA :
در ایونت ورک بوک در قسمت open دستور زیر را بنویسید: ( فرضا قیمت سهام خاص تو خونه a2 هست و شما می خواهید اگه نسبت به 1400 تغییر کرد بگه )

Private Sub Workbook_Open()
If Sheet1.Range("a2").Value > 1400 Then
MsgBox "افزایش قیمت سهام", vbCritical, "تغییر قیمت "
ElseIf Sheet1.Range("a2").Value < 1400 Then
MsgBox "کاهش قیمت سهام", vbCritical, "تغییر قیمت"
End If
End Sub

Alexis
2014/04/26, 16:39
آقای مکرم من فکر میکنم منظور دوستمون این بود که اگه یه لیست قیمت داشته باشیم و در این لیست قیمت سهم ها از یه حدی بالاتر یا پایین تر بره . سیستم آلارم بده یا حتی یه لیست بما بده که شامل اون موارد تغییر کرده باشه ؟

mokaram
2014/04/26, 16:50
آقای مکرم من فکر میکنم منظور دوستمون این بود که اگه یه لیست قیمت داشته باشیم و در این لیست قیمت سهم ها از یه حدی بالاتر یا پایین تر بره . سیستم آلارم بده یا حتی یه لیست بما بده که شامل اون موارد تغییر کرده باشه ؟

با عرض خیر مقدم خدمت آقای بهروز خان مطیع زرندی باید عرض کنم تو متن نوشته های دوستمون صراحتا عرض کردن " یک سهام خاص از یک قیمت خاص " و بنده هم بابت این نوشته اون کد را نوشتم :ok:

mmousavi
2014/04/27, 01:53
از طریق VBA :
در ایونت ورک بوک در قسمت open دستور زیر را بنویسید: ( فرضا قیمت سهام خاص تو خونه a2 هست و شما می خواهید اگه نسبت به 1400 تغییر کرد بگه )

Private Sub Workbook_Open()
If Sheet1.Range("a2").Value > 1400 Then
MsgBox "افزایش قیمت سهام", vbCritical, "تغییر قیمت "
ElseIf Sheet1.Range("a2").Value < 1400 Then
MsgBox "کاهش قیمت سهام", vbCritical, "تغییر قیمت"
End If
End Sub


سلام. دوست عزیز این کد ها رو وارد کردم اما برای اجرا و فعال شدنش باید چکار کنم؟

mokaram
2014/04/27, 09:20
سلام. دوست عزیز این کد ها رو وارد کردم اما برای اجرا و فعال شدنش باید چکار کنم؟

شما اطمینان داشته باشید که ماکروها تو سیستمتون فعاله

mmousavi
2014/04/29, 00:18
سلام. با تشکر که جواب دادین.حالا اگه به قول دوستمون بخوام این کار نه توی یک خانه بلکه توی یک ستون انجام بدم به چه نحوی میشه؟مثلا اگه در ستون a عددی از 1400 بیشتر شد اطلاعات سلول مقابلش رو نشون بده.

mokaram
2014/04/29, 07:58
سلام. با تشکر که جواب دادین.حالا اگه به قول دوستمون بخوام این کار نه توی یک خانه بلکه توی یک ستون انجام بدم به چه نحوی میشه؟مثلا اگه در ستون a عددی از 1400 بیشتر شد اطلاعات سلول مقابلش رو نشون بده.

دوست عزیز مشخص نکردید که اطلاعات ستون مقابلش را کجا نشون بده . فرض را بر این بگیریم که اطلاعات ستون مقابلش را تو ستون d نشون بدن در اینصورت از کد زیر استفاده کنید

Private Sub Workbook_Open()
Dim c As Range
Sheet1.Range("d:d").ClearContents
For Each c In Sheet1.Range("a2:a10")
If c <> "" And c.Value > 1400 Then
c.Offset(0, 3).Value = c.Offset(0, 1).Value
End If
Next c
End Sub

mmousavi
2014/04/30, 01:56
سلام منظورم نمایش اطلاعات سلول مقابل در مسیج باکس بود.

امين اسماعيلي
2014/04/30, 04:19
با درود
راهای مختلفی وجود داره که آقا مهدی هم گفتن . اما خب واسه کار شما من همین فرمول دوستمون رو به دو طریق پیشنهاد میکنم.

1- اینکه مثلا تو کد زیر میگه کدوم سهام تو کدوم سل و تو پرانتز مقدارش (همشونو توی سل D1 ) نمایش بده - یا کد دوم که به سل D1 نیاز نداره و برات تو مسیج باکس میاره . من ادرسو دوست دارم چون ممکنه سریع بخوام پیداش کنم . شما هر قسمتشو میتونی حذف کنی . یا اصلا هرچی که زیدی بود بیاره با تمام اطلاعاتش تو یه شیت و یه پرینت بهت بده و .............

حالا ایتن دو کد رو تو همون ایونت open workbook بزار تست کن


Dim c As Range
Sheet1.Range("d:d").ClearContents
For Each c In Sheet1.Range("a2:a10")
Dim y
If c <> "" And c.Value > 1400 Then
y = Range("D1").Value
Range("D1").Value = c.Offset(0, 1).Address & " = " & c.Offset(0, 1).Value & "(" & c.Value & ")" & " - " & y
End If
Next c


یا



Dim c As Range
Dim m

For Each c In Sheet1.Range("a2:a10")
Dim y
If c <> "" And c.Value > 1400 Then
y = m
m = c.Offset(0, 1).Address & " = " & c.Offset(0, 1).Value & "(" & c.Value & ")" & " - " & y
End If
Next c
MsgBox m