전임자에게서받은 엑셀 분 시트를 개선하고 싶습니다.VBA 세포를 채색하고 탈색
Excel 시트에는 클릭 한 셀의 행에 미리 정의 된 값을 입력하는 버튼이 있습니다. 미리 정의 된 열에 입력되는 값이 있습니다. A- 인덱스 작업, 참가자, 의사 결정 등 C-책임자 D- 날짜
없음 B- 약어는 데이터의 입력을 지원하는 버튼이 있습니다. T 버튼 (작업)을 누르면 t가 활성 행 (열 B)에 나타나고 특정 레이아웃이 표시됩니다. P 버튼 (참가자)도 마찬가지입니다. vba 코딩에는 매크로와 일부 변경 사항이 있지만, 이것은 모두 잘 작동합니다!
- 책임있는 사람이 채워 것이 필수가 (C 열을 의미하는 값을 가진) :
지금 제가 구현하고 싶은 변화가있다. 값을 입력하지 않으면이 셀은 빨간색으로 바뀌어야합니다. 모든 버튼을 누른 후에해야합니다. 이것은 내가 이미 구현 한 것입니다. 그러나 값이 입력되면 셀을 다시 흰색으로 만드는 법입니다. 내 버전에서는 항상 빨간색으로 남아 있습니다.
코드는 다음과 같습니다
Sub NewDecision()
Dim cell As Range
If ActiveSheet.AutoFilterMode Then
Selection.AutoFilter
End If
If Range("B4").Value = "" Then
Range("B4").Select
Else
Range("B3").End(xlDown).Offset(1, 0).Range("A1").Select
End If
Application.ScreenUpdating = False
ActiveCell.FormulaR1C1 = "D"
Application.Run "SetNewNumber"
Application.Run "CopyFormat"
ActiveCell.Offset(0, 2).Range("A1").Select
ActiveCell.FormulaR1C1 = "all"
ActiveCell.Offset(0, 2).Range("A1").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ActiveCell.Offset(0, -3).Range("A1").Select
Application.ScreenUpdating = True
For Each cell In Worksheets("Close").Range("A4:F33")
If cell = "" Then
cell.Interior.ColorIndex = 3
Else
cell.Interior.ColorIndex = xlNone
End If
Next
End Sub
- 나는 노란색 열을 회전 버튼을 사용하는 경우, 다음 열이 같은 형식으로되어 있습니다. 이전 형식 만 복사합니다. 이것을 피하는 방법?
나는 문제가이 코드 조각 낳는 있다고 생각 :
Sub CopyFormat()
Range("A4:J4").Copy
Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 10)).PasteSpecial Paste:=xlFormats
Cells(ActiveCell.Row, 2).Validation.InCellDropdown = False
ActiveCell.Offset(0, 1).Select
Application.CutCopyMode = False
난 당신이 ... 도와 질문을 자유롭게 할 수 있기를 바랍니다.
Bests