با چه فرمولی تو conditional formatting میشه تعریف کرد که با حرکت نشانگر موس روی صفحه رنگ سطر و ستون مربوطه تغییر کنه؟
تغییر رنگ سطر و ستون با حرکت نشانگر موس
Collapse
X
-
با سلام
کد زیر را امتحان کنید.
با انتخاب سلول ردیف و ستون سلول مورد نظر رنگی میشود.کد:[LEFT] Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) Dim prow, pcolumn As Integer Static xrow Static xcolumn If xcolumn <> "" Then With Columns(xcolumn).Interior .ColorIndex = xlNone End With With Rows(xrow).Interior .ColorIndex = xlNone End With End If prow = Selection.Row pcolumn = Selection.Column xrow = prow xcolumn = pcolumn With Columns(pcolumn).Interior .ColorIndex = 6 .Pattern = xlSolid End With With Rows(prow).Interior .ColorIndex = 6 .Pattern = xlSolid End With End Sub [/LEFT]فایل های پیوست شده[SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE] -
سلام،
conditional formatting را نمي توان به حرکت موس يا حتي به انتخاب يا عدم انتخاب يک سل ربط داد و اين کار غير ممکن است.
فقط با کد نويسي همانطور که دوستمان آقا امير گفتند يک کارهايي مي شود کرد که البته چون کد آن تو رويداد SELECTION CHANGE نوشته مي شود فايل را کند خواهد کرد.[SIGPIC][/SIGPIC]کامنت
-
با سلامبا سلام
کد زیر را امتحان کنید.
با انتخاب سلول ردیف و ستون سلول مورد نظر رنگی میشود.کد:[LEFT] Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) Dim prow, pcolumn As Integer Static xrow Static xcolumn If xcolumn <> "" Then With Columns(xcolumn).Interior .ColorIndex = xlNone End With With Rows(xrow).Interior .ColorIndex = xlNone End With End If prow = Selection.Row pcolumn = Selection.Column xrow = prow xcolumn = pcolumn With Columns(pcolumn).Interior .ColorIndex = 6 .Pattern = xlSolid End With With Rows(prow).Interior .ColorIndex = 6 .Pattern = xlSolid End With End Sub [/LEFT]
این کد رو که وارد می کنیم کار می کنه ولی بعد از بستن و دو باره باز کردن فرمول از کار افتاده و کار نمیکنهکامنت
-
[SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]کامنت
-
فایل پیوست را بررسی نمایید
کد PHP:Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rowNumberValue As Integer, columnNumberValue As Integer, i As Integer, j As Integer
Cells.Interior.ColorIndex = 0
rowNumberValue = ActiveCell.Row
columnNumberValue = ActiveCell.Column
For i = 1 To columnNumberValue
Cells(rowNumberValue, i).Interior.ColorIndex = 37
Next
For j = 1 To rowNumberValue
Cells(j, columnNumberValue).Interior.ColorIndex = 37
Next
Cells(rowNumberValue, columnNumberValue).Interior.ColorIndex = 4
End Sub
فایل های پیوست شدهکامنت
-
سلام و عرض ادب خدمت کلیه اساتید گرامی
اخرین کد ارائه شده توسط دوستان
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rowNumberValue As Integer, columnNumberValue As Integer, i As Integer, j As Integer
Cells.Interior.ColorIndex = 0
rowNumberValue = ActiveCell.Row
columnNumberValue = ActiveCell.Column
For i = 1 To columnNumberValue
Cells(rowNumberValue, i).Interior.ColorIndex = 37
Next
For j = 1 To rowNumberValue
Cells(j, columnNumberValue).Interior.ColorIndex = 37
Next
Cells(rowNumberValue, columnNumberValue).Interior.ColorIndex = 4
End Sub
بسیار عالی است و بنده به نوبه خودم بسیار سپاسگزارم. تنها ضعف کد و شاید هم بنده (نکته یا ریزه کاری دارد که بنده بلد نیستم و رعایت نمیکنم) این است که پس از بسته و باز نمودن فایل، فرمول کارآیی نداشته و موضوع رنگی شدن خودکار سطر و ستون منتفی میگردد.
لطفا در صورت امکان راهنمائی بفرمائید.
لازم بذکر است که فایل های پیوست را هم دانلود و امتحان نمودم، همین مشکل را دارند.
با سپاس فراوانکامنت
-
با سلام و صد البته تبریک سال نو و آرزوی سلامتی و کامیابی برای یکایک اعضای انجمن اکسل ایران و مدیران زحمت کش آن.
در پاسخ شما به اینکه چگونه در تمامی شیت ها این اتفاق بیافته فقط کافیست به محیط ماکرو رفته و روی Thisworkbook کلیک کنید و کد زیر را که زحمت آن را جناب آقای iranweld عزیز کشیدن رو اضافه کنید .
و آن را با پسوند Xlsm ذخیره کنیدکد:Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim rowNumberValue As Integer, columnNumberValue As Integer, i As Integer, j As Integer Cells.Interior.ColorIndex = 0 rowNumberValue = ActiveCell.Row columnNumberValue = ActiveCell.Column For i = 1 To columnNumberValue Cells(rowNumberValue, i).Interior.ColorIndex = 37 Next For j = 1 To rowNumberValue Cells(j, columnNumberValue).Interior.ColorIndex = 37 Next Cells(rowNumberValue, columnNumberValue).Interior.ColorIndex = 4 End Sub
پایدارو پیروز باشید میرکامنت





کامنت