PDA

View Full Version : تغییر رنگ بعضی از سلول های اکسل بعد از اکسپورت شدن کوری به اکسل



soroush_k12
دوشنبه 23 آبان 1401, 10:19 صبح
سلام من یک کوری رو به اکسل اکسپورت میکنم میخام وقتی فایل اکسل باز شد بعضی از سلول هاش مطابق با شرط کوری رنگی باشه.ایا روشی هست؟ ممنونم میشم از استاید
عکس های پیوست گویاست
از ورژن ۲۰۰۳ هم استفاده میکنم
با تشکر فراوان

eb_1345
سه شنبه 24 آبان 1401, 00:44 صبح
سلام من یک کوری رو به اکسل اکسپورت میکنم میخام وقتی فایل اکسل باز شد بعضی از سلول هاش مطابق با شرط کوری رنگی باشه.ایا روشی هست؟ ممنونم میشم از استاید
عکس های پیوست گویاست
از ورژن ۲۰۰۳ هم استفاده میکنم
با تشکر فراوان

سلام
قطعا برای رنگی کردن فونت سلول های ستون مورد نظر شرط هائی قائل هستین . بطور مثال یکی از شروط شما میتونه این یاشه که اگر اعداد ستون H فلان مقدار بود رنگ فونت سلول مربوطه قرمز بشه و برای ستون های دیگر هم همچنین
حال با این توضیحات شرط یاشروط شما برای رنگی نمایش دادن فونت سلول های ستون مد نظر چیه ؟

soroush_k12
سه شنبه 24 آبان 1401, 09:08 صبح
سلام ممنونم دوست عزیز از وقتی که گذاشتید.بله شرط من صفر بودن مقدار هست.فقط نکته اینجاست که من روی فایل اکسل نمی خام برنامه نویسی کنم.میخام وقتی فایل اکسل اکسپورت شد خودش بعضی سلول هاش رنگی باشه.یعنی کلیه کدها در اکسس باشه.البته یکاری هم انجام دادم.اول کوری به ریپورت تبدیل کردم بعد اکسل کردم و روی ریپورت کد رنگی شدن داده های صفر رو نوشتم.توی ریپورت رنگی بودن ولی بازم بعد تبدیل به اکسل همگی سیاه شدن

eb_1345
سه شنبه 24 آبان 1401, 10:34 صبح
سلام ممنونم دوست عزیز از وقتی که گذاشتید.بله شرط من صفر بودن مقدار هست.فقط نکته اینجاست که من روی فایل اکسل نمی خام برنامه نویسی کنم.میخام وقتی فایل اکسل اکسپورت شد خودش بعضی سلول هاش رنگی باشه.یعنی کلیه کدها در اکسس باشه.البته یکاری هم انجام دادم.اول کوری به ریپورت تبدیل کردم بعد اکسل کردم و روی ریپورت کد رنگی شدن داده های صفر رو نوشتم.توی ریپورت رنگی بودن ولی بازم بعد تبدیل به اکسل همگی سیاه شدن
در تصویر اولتون مقادیر بزرگتر از صفر هم هست که رنگشون قرمزه ولی میفرمائین که شرط صفر بودن مقداره . علی ایحال بنظرم خواسته شما قابل انجام باشه ولی بهتره برای نتیجه گیری سریعتر نمونه کار خودتون رو ارائه فرمائید .

eb_1345
سه شنبه 24 آبان 1401, 11:09 صبح
به عنوان نمونه به کدهای زیر دقت بفرما !



Dim MyCell
Dim StatValue As String
Dim StatusRange
Dim strPath As String
strPath = Access.CurrentProject.Path & "\" & "x.xlsx"
Dim XlSheet As Variant
Dim XlBook As Variant
Set xl = GetObject(strPath)
Set XlSheet = xl.Worksheets(1)
Set StatusRange = XlSheet.Range("A4")
For Each MyCell In StatusRange
StatValue = MyCell.Value
Select Case StatValue
Case 0
MyCell.Font.Color = vbRed
Case Is > 0
MyCell.Font.Color = 0
End Select
Next MyCell



در کدهای فوق شرط گذاشته شده که عدد ستون سطر 4 اگه صفر بود رنگ فونتش قرمز بشه و اگه بزرگتر از صفر بود سیاه
ضمناً فرض شده نام فایل اکسل شما x.xlsx میباشه

soroush_k12
چهارشنبه 25 آبان 1401, 18:41 عصر
به عنوان نمونه به کدهای زیر دقت بفرما !



Dim MyCell
Dim StatValue As String
Dim StatusRange
Dim strPath As String
strPath = Access.CurrentProject.Path & "\" & "x.xlsx"
Dim XlSheet As Variant
Dim XlBook As Variant
Set xl = GetObject(strPath)
Set XlSheet = xl.Worksheets(1)
Set StatusRange = XlSheet.Range("A4")
For Each MyCell In StatusRange
StatValue = MyCell.Value
Select Case StatValue
Case 0
MyCell.Font.Color = vbRed
Case Is > 0
MyCell.Font.Color = 0
End Select
Next MyCell



در کدهای فوق شرط گذاشته شده که عدد ستون سطر 4 اگه صفر بود رنگ فونتش قرمز بشه و اگه بزرگتر از صفر بود سیاه
ضمناً فرض شده نام فایل اکسل شما x.xlsx میباشه
سلام ممنونم از راهنمایی شما
این نمونه ساده . اگه ممکنه کدی برای باتن فرم بنویسید که دیتای صفر در فایل اکسل رنگی شود. تشکر فراوان154213

eb_1345
چهارشنبه 25 آبان 1401, 22:06 عصر
سلام ممنونم از راهنمایی شما
این نمونه ساده . اگه ممکنه کدی برای باتن فرم بنویسید که دیتای صفر در فایل اکسل رنگی شود. تشکر فراوان


Dim MyCell
Dim StatValue As String
Dim StatusRange
Dim i As Integer
Dim xl As Object
Dim XlSheet As Object
Set xl = GetObject(strPath & "\" & "t1.xlsx")
Set XlSheet = xl.Worksheets(1)
xl.Application.Visible = True
xl.Parent.Windows(1).Visible = True
For i = 1 To 6
Set StatusRange = XlSheet.Range("A" & i & ":" & "D1" & i)
For Each MyCell In StatusRange
StatValue = MyCell.Value
If StatValue = 0 Then MyCell.Font.Color = vbRed
Next MyCell
Next
XlSheet.Range("a1").Select
xl.Save
Set xl = Nothing
Set XlSheet = Nothing

soroush_k12
چهارشنبه 25 آبان 1401, 23:12 عصر
نمونه ضمیمه خدمت شما
خوشت اومد هرچند تا دوست داشتی صلوات بفرست!

عالی بود بسیار ممنونم

soroush_k12
پنج شنبه 26 آبان 1401, 08:36 صبح
Dim MyCell
Dim StatValue As String
Dim StatusRange
Dim i As Integer
Dim xl As Object
Dim XlSheet As Object
Set xl = GetObject(strPath & "\" & "t1.xlsx")
Set XlSheet = xl.Worksheets(1)
xl.Application.Visible = True
xl.Parent.Windows(1).Visible = True
For i = 1 To 6
Set StatusRange = XlSheet.Range("A" & i & ":" & "D1" & i)
For Each MyCell In StatusRange
StatValue = MyCell.Value
If StatValue = 0 Then MyCell.Font.Color = vbRed
Next MyCell
Next
XlSheet.Range("a1").Select
xl.Save
Set xl = Nothing
Set XlSheet = Nothing


سلام صبح بخیر.ظاهرا تغییراتی در کد لحاظ فرمودید.ممکنه فایل نمونه رو هم اصلاح بفرمایید.با تشکر

soroush_k12
شنبه 28 آبان 1401, 19:29 عصر
با سلام خدمت جناب eb_1345
ممکنه نمونه اصلاح شده رو مجددا اپلود کنید.من همچنان منتظر هستم.ممنونم.موفق باشید

eb_1345
شنبه 28 آبان 1401, 23:03 عصر
با سلام خدمت جناب eb_1345
ممکنه نمونه اصلاح شده رو مجددا اپلود کنید.من همچنان منتظر هستم.ممنونم.موفق باشید
سلام آقا سروش عزیز!
همون نمونه ای که دریافت کردی کامله و ایرادی نداره . اگه دقت کنی در کدهای پست 9 در حلقه for ... next تعداد سطرها رو 6 سطر و ستون ها از از A تا D مشخص کرده ام در صورتیکه در نمونه ای که شما دریافت کردی محدویت در سطر و ستون وجود نداره ، به عبارتی فایل اکسل شما هر تعداد سطر و ستون داشته باشه تغییرات در تمام سلول ها انجام میشه .