EXCEL宏控制与VB.net控制是有区别的,VB.net属于对EXCEL文件进行操作,操作完后控制权才交到EXCEL程序,而宏的控制权一直在EXCEL程序.
合山ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
vb.netexcel给range赋值的方法如下:
Range是对象类型,对象的赋值要加一个Set,,例如您需要的语句可以这样写:
Set M = Range("A1:I1")
这样赋值以后,M才Range类型,例如可以使用 M.Count 属性,或者 M.ClearContents 方法
如果不写Set,那么会把Range的值赋与变量(数组类型)。
vb2008在window10的office2007测试通过,以下是代码
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim excelObj As Object = GetObject(, "Excel.Application")
If excelObj.Workbooks.Count = 0 Then '注意,如果是新建未保存的工作簿不算打开
MsgBox("没有工作簿打开")
excelObj = Nothing
Exit Sub
End If
excelObj.Workbooks(1).Worksheets(1).Range("A1").Value = "123" '表示把已经打开的第一个工作簿的第一个工作表的A1单元格赋值为“123”
excelObj = Nothing
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
DataGridViewCellStyle方法不通用,区域性设置太麻烦了。
以下是程序方法:
可以先将数据源放入一张表中,不要直接绑定。新表是可以改string的。
那个列必须是string,不能是single
代码写在cellendedit的过程中,每次用户退出单元格编辑后引发
dim a1 as single
dim a2 as string
Try
a1=csng(当前单元格值)
Catch ex As Exception
MessageBox.Show("输入条件不符合要求!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
if a11 then
a2=formate(a1,"0.0000")
else
....
endif
完事后a2赋值给当前单元格即可。