답장 @Tim! 사실은 내가 피곤 자신을 조금 파악하고 나는대로 내 요구 사항에 따라 해결책에 도달 :
셀 :: 버튼의 클릭에
Sub buttonInACell()
Dim btn As Button
Dim t
Set t = ActiveSheet.Cells(10, 6)
Set btn = ActiveSheet.Buttons.Add(t.Left, t.Top, t.Width, t.Height)
End Sub
::
에 버튼을 넣어를
Public flag As Integer
Sub buttonInACell_Click()
Dim row As Integer, col As Integer
'flag=0 : no show, flag=1 : show
row = ActiveSheet.Shapes(Application.Caller).TopLeftCell.row
col = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column
If flag = 0 Then
ActiveSheet.Shapes(1).TextFrame.Characters.text = "Show data"
If ActiveSheet.Cells(row + 2, col).Font.Color = vbRed Then
ActiveSheet.Cells(row + 2, col).Value = ""
End If
ActiveSheet.Cells(row + 2, col).Font.Color = vbWhite
ActiveSheet.Cells(row + 2, col).WrapText = False
flag = 1
ElseIf flag = 1 Then
ActiveSheet.Shapes(1).TextFrame.Characters.text = "Hide Data"
If ActiveSheet.Cells(row + 2, col).Value = "" Then
ActiveSheet.Cells(row + 2, col).WrapText = True
ActiveSheet.Cells(row + 2, col).Font.Color = vbRed
ActiveSheet.Cells(row + 2, col).Value = "Sorry! No Sample Data As of Yet!"
Else
ActiveSheet.Cells(row + 2, col).WrapText = True
ActiveSheet.Cells(row + 2, col).Font.Color = vbBlack
End If
flag = 0
End If
End Sub
이것은 실제로 무엇입니까? 토글 버튼을 만들고 상대방 셀의 데이터를 전환 할 수 있습니다! :)
나는 또한 똑같은 일을하고있다. 의심 할 여지없이, vba를 사용하는 셀에 값이 있는지 어떻게 확인할 수 있습니까? ActiveSheet.Cells (row, col) .Value = Null Then – Chandeep
나는 보통 If Len (ActiveSheet.Cells (row, col) .Value) = 0'을 사용할 것이다. 가능하다면, 확실하게 ;-) –
ActiveSheet.Cells (row, col) .Value = ""시도했을 가능성이있다. (Len (Trim (ActiveSheet.Cells (row, col) .Value)) = 0) !! !! – Chandeep