我有wps(专业版有vba功能),我也有excel。
上面的代码在excel中是可以正常运行的。但是在wps中不行。要改:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Count = 1 And Target.Row > 1 And Target.Cells(1).Value > 0 And VBA.Left(Target.Cells(1).Value, 2) <> "超限" Then
A1 = 70: A2 = 60: A3 = 50: A4 = 40 '这里是四个固定数
S1 = "超限" & Round(Target / A1 * 100, 2) & "%,"
s2 = "超限" & Round(Target / A2 * 100, 2) & "%,"
s3 = "超限" & Round(Target / A3 * 100, 2) & "%,"
s4 = "超限" & Round(Target / A4 * 100, 2) & "%"
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
Target.Validation.Add Type:=xlValidateList, Formula1:=S1 & s2 & s3 & s4
Target.Validation.InCellDropdown = True
End If
End Sub
Sub 转图片()
Range("B4:D10").Select
Selection.Copy 'wps不支持copypicture
ActiveSheet.Pictures.Paste.Select
Selection.Copy '我先粘贴为图片再复制
Selection.Delete
With ActiveSheet.ChartObjects.Add(0, 0, Selection.Width, Selection.Height).Chart
ActiveSheet.ChartObjects.Select'''加上这句加上这句加上这句加上这句加上这句
.Paste 'wps程序走到这句后没有反应,直接往下走了!!!!!
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Line.Visible = msoFalse
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Fill.Visible = msoFalse
.Export Filename:="C:\图片.png", Filtername:="png"
.Parent.Delete '删除该图表
End With
End Sub