mokaram
2015/03/12, 09:43
تو خیلی از جاها گاهاً دیده شده که با کلیک کردن اطلاعات نمایان و با کلیک مجدد اطلاعات مد نظر پنهان میشن. مطمئناً کار سختی نیست ولی تو این فایل سعی شده که کار از منظر گرافیکی شکل و شمایل بهتری داشته باشه .
برای اینکار دو تا شیپ ( به عنوان دکمه های on / off ) ایجاد میشن و کد زیر را به هر دوی اونها اختصاص داده میشه
ActiveSheet.Shapes.Range(Array("shpHideSale")).Visible = Not ActiveSheet.Shapes.Range(Array("shpHideSale")).Visible
If ActiveSheet.Shapes.Range(Array("shpHideSale")).Visible Then
moveBy = -0.75
With ActiveSheet.Shapes.Range(Array("btnToggle")).Fill
.ForeColor.RGB = RGB(33, 33, 33)
End With
Else
moveBy = 0.75
With ActiveSheet.Shapes.Range(Array("btnToggle")).Fill
.ForeColor.RGB = RGB(0, 176, 80)
End With
End If
With ActiveSheet.Shapes.Range(Array("btnToggle"))
For i = 1 To 25
.IncrementLeft moveBy
DoEvents
Next i
End With
دو تا کادر هم ایجاد میشن. کادر اول که همه اطلاعات درون اون جای میگیرن و کادر بعدی به عنوان لایه محافظ عمل میکنه و مانع دید کاربر به اطلاعات زمینه میشه در حالتی که دکمه روی off تنظیم شده
منبع : chandoo
برای اینکار دو تا شیپ ( به عنوان دکمه های on / off ) ایجاد میشن و کد زیر را به هر دوی اونها اختصاص داده میشه
ActiveSheet.Shapes.Range(Array("shpHideSale")).Visible = Not ActiveSheet.Shapes.Range(Array("shpHideSale")).Visible
If ActiveSheet.Shapes.Range(Array("shpHideSale")).Visible Then
moveBy = -0.75
With ActiveSheet.Shapes.Range(Array("btnToggle")).Fill
.ForeColor.RGB = RGB(33, 33, 33)
End With
Else
moveBy = 0.75
With ActiveSheet.Shapes.Range(Array("btnToggle")).Fill
.ForeColor.RGB = RGB(0, 176, 80)
End With
End If
With ActiveSheet.Shapes.Range(Array("btnToggle"))
For i = 1 To 25
.IncrementLeft moveBy
DoEvents
Next i
End With
دو تا کادر هم ایجاد میشن. کادر اول که همه اطلاعات درون اون جای میگیرن و کادر بعدی به عنوان لایه محافظ عمل میکنه و مانع دید کاربر به اطلاعات زمینه میشه در حالتی که دکمه روی off تنظیم شده
منبع : chandoo