標題:
希望大大幫忙一下下 如何標記
[打印本頁]
作者:
lbs1252
時間:
2012-10-4 16:55
標題:
希望大大幫忙一下下 如何標記
各位大大好 小弟想請問一下 如何用巨集來標註顏色
如附件 我想要讓品名為衣服 鞋子 的底色為黃色
數量1-10的為紅色 11-20為綠色 21-30為藍色 31-40為淡藍色
這樣該如何寫 麻煩各位大大[attach]12695[/attach]
作者:
GBKEE
時間:
2012-10-5 09:04
回復
1#
lbs1252
用工作表指令 格式->設定格式化條件, 也可達到你的期望.
VBA程式碼
Option Explicit
Sub Ex()
Dim Rng As Range, C As Integer, Font_Color As Integer
Set Rng = Sheets("東運-資料範例").[D2] '數量
' 數量1-10的為紅色 11-20為綠色 21-30為藍色 31-40為淡藍色
Do
Font_Color = xlAutomatic '字體顏色
Select Case Rng.Value
Case 1 To 10 '數量 1-10的為紅色
C = 3
Font_Color = 6
Case 11 To 20 '數量 11-20為綠色
C = 10
Case 21 To 30 '數量 21-30為藍色
C = 5
Font_Color = 2
Case 31 To 40 '數量 31-40為淡藍色
C = 8
Case Else '其餘數量
C = xlAutomatic
End Select
Rng.Interior.ColorIndex = C
Rng.Font.ColorIndex = Font_Color
Set Rng = Rng.Offset(1) '數量 下移一列
Loop While Rng <> "" '離開 迴圈 : 數量=""
End Sub
複製代碼
作者:
lbs1252
時間:
2012-10-5 14:04
感謝大大小弟馬上試試
作者:
lbs1252
時間:
2012-10-5 14:09
板大謝謝你 不過關於品名方面的顏色小弟該如何設定 萬分感激
作者:
lbs1252
時間:
2012-10-5 15:34
小弟找到方法了 感恩阿
作者:
hugh0620
時間:
2012-10-5 15:37
利用G大的來修改~
Option Explicit
Sub Ex()
Dim Rng As Range, C As Integer, Font_Color As Integer
Set Rng = Sheets("東運-資料範例").[D2] '數量
' 數量1-10的為紅色 11-20為綠色 21-30為藍色 31-40為淡藍色
Do
Font_Color = xlAutomatic '字體顏色
If Rng.Offset(0, -2) = "衣服" Or Rng.Offset(0, -2) = "鞋子" Then
Rng.Offset(0, -2).Interior.ColorIndex = 6
End If
'===加這一段判斷品名的顏色
Select Case Rng.Value
Case 1 To 10 '數量 1-10的為紅色
C = 3
Font_Color = 6
Case 11 To 20 '數量 11-20為綠色
C = 10
Case 21 To 30 '數量 21-30為藍色
C = 5
Font_Color = 2
Case 31 To 40 '數量 31-40為淡藍色
C = 8
Case Else '其餘數量
C = xlAutomatic
End Select
Rng.Interior.ColorIndex = C
Rng.Font.ColorIndex = Font_Color
Set Rng = Rng.Offset(1) '數量 下移一列
Loop While Rng <> "" '離開 迴圈 : 數量=""
End Sub
複製代碼
回復
4#
lbs1252
作者:
lbs1252
時間:
2012-10-5 17:30
大大小弟在請問一下
如果我只要衣服被標記起來 那它數量才會被標記起來但顏色要不同該如何做
如衣服被標記黃色 那它的數量1-10的為紅色 11-20為綠色 21-30為藍色 31-40為淡藍色
鞋子被標記為灰色 那它的數量1-10的為紅色 11-20為綠色 21-30為藍色 31-40為淡藍色
在麻煩大大了
作者:
hugh0620
時間:
2012-10-5 18:02
不知道這樣是不是你要的結果~
Sub Ex()
Dim Rng As Range, C As Integer, Font_Color As Integer
Set Rng = Sheets("東運-資料範例").[D2] '數量
' 數量1-10的為紅色 11-20為綠色 21-30為藍色 31-40為淡藍色
Do
Font_Color = xlAutomatic '字體顏色
If Rng.Offset(0, -2) = "衣服" Then
Rng.Offset(0, -2).Interior.ColorIndex = 6
ElseIf Rng.Offset(0, -2) = "鞋子" Then
Rng.Offset(0, -2).Interior.ColorIndex = 15
Else
GoTo 1
End If
'===加這一段判斷品名的顏色,如果沒有符合品名的~ 其數量就不標顏色
Select Case Rng.Value
Case 1 To 10 '數量 1-10的為紅色
C = 3
Font_Color = 6
Case 11 To 20 '數量 11-20為綠色
C = 10
Case 21 To 30 '數量 21-30為藍色
C = 5
Font_Color = 2
Case 31 To 40 '數量 31-40為淡藍色
C = 8
Case Else '其餘數量
C = xlAutomatic
End Select
Rng.Interior.ColorIndex = C
Rng.Font.ColorIndex = Font_Color
1
Set Rng = Rng.Offset(1) '數量 下移一列
Loop While Rng <> "" '離開 迴圈 : 數量=""
End Sub
複製代碼
回復
7#
lbs1252
作者:
lbs1252
時間:
2012-10-5 18:11
大大是這樣沒錯
過若我想改變品名的位置我該如何改變
感謝教導
作者:
GBKEE
時間:
2012-10-5 18:34
本帖最後由 GBKEE 於 2012-10-5 18:36 編輯
回復
9#
lbs1252
Option Explicit
Sub Ex()
Dim Rng As Range, C As Integer, Font_Color As Integer
Set Rng = Sheets("東運-資料範例").[B2] '品名
Do
If Rng = "衣服" And Rng.Interior.ColorIndex = 6 Or _
Rng = "鞋" And Rng.Interior.ColorIndex = 15 Then 'Rng = "衣服" AND(且) 圖樣.顏色值= 6(黃色) OR(或) Rng = "鞋" AND(且) 圖樣.顏色值= 15(灰色)
'1#的檔案 品名 是 "鞋" 非 "鞋子"
Font_Color = xlAutomatic '字體顏色
Select Case Rng.Offset(, 2).Value '品名 右移2欄為 數量
Case 1 To 10 '數量 1-10的為紅色
C = 3
Font_Color = 6
Case 11 To 20 '數量 11-20為綠色
C = 10
Case 21 To 30 '數量 21-30為藍色
C = 5
Font_Color = 2
Case 31 To 40 '數量 31-40為淡藍色
C = 8
Case Else '其餘數量
C = xlAutomatic
End Select
Rng.Offset(, 2).Interior.ColorIndex = C
Rng.Offset(, 2).Font.ColorIndex = Font_Color
End If
Set Rng = Rng.Offset(1) '品名 下移一列
Loop While Rng <> "" '離開 迴圈 : 品名=""
End Sub
複製代碼
作者:
lbs1252
時間:
2012-10-5 18:44
大大我弄出來還是不行 我在上傳壹次檔案麻煩大大們了[attach]12706[/attach]
作者:
lbs1252
時間:
2012-10-5 21:25
真是抱歉阿 各位大大以及版大 小弟找出原因了 真是受教了
我找出原因了感恩感恩萬分感謝
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)