请教高手一个VBA转化VB问题,谢谢
PrivateSubCommandButton1_Click()DimmyAddressAsStringDimrngAsRangeDimkAsIntegera=[a655...
Private Sub CommandButton1_Click()
Dim myAddress As String
Dim rng As Range
Dim k As Integer
a = [a65536].End(xlUp).Row
k = Application.WorksheetFunction.CountIf(Range("A3:A" & a), TextBox1.Text)
If TextBox1.Text = "" Then
MsgBox "请输入高度!", 64, "系统提示"
Exit Sub
End If
If k < 1 Then
MsgBox "没有找到高度为" & TextBox1.Value & "的记录", 64, "系统提示"
Exit Sub
End If
Application.ScreenUpdating = False
With Sheet1.Range("A:A")
Set rng = .Find(What:=TextBox1.Text)
If Not rng Is Nothing Then
myAddress = rng.Address
If ComboBox1.Value = "0.5MPa以下容积" Then
TextBox2.Value = Range(myAddress).Offset(0, 1).Value
Else: TextBox2.Value = Range(myAddress).Offset(0, 2).Value
End If
End If
End With
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton2_Click()
TextBox1 = ""
TextBox2 = ""
End Sub
Private Sub UserForm_Initialize()
Dim i As Integer
TextBox1 = ""
TextBox2 = ""
ComboBox1.Clear
For i = 2 To 3
UserForm1.ComboBox1.AddItem Trim(Cells(1, i).Value)
Next i
End Sub
这是VBA下的程序。我现在想修改成VB,数据改成MDB了,分别为ID,GD(高度)MPa1(0.5MPa以下容积),MPa2(0.5MPa以上容积) 效果是当我在气压那选择【0.5MPa以下容积】,然后输入一个高度时,系统自动查询到对应的容积。当我在气压那选择【0.5MPa以上容积】,然后输入一个高度时,系统自动查询到对应的容积。 展开
Dim myAddress As String
Dim rng As Range
Dim k As Integer
a = [a65536].End(xlUp).Row
k = Application.WorksheetFunction.CountIf(Range("A3:A" & a), TextBox1.Text)
If TextBox1.Text = "" Then
MsgBox "请输入高度!", 64, "系统提示"
Exit Sub
End If
If k < 1 Then
MsgBox "没有找到高度为" & TextBox1.Value & "的记录", 64, "系统提示"
Exit Sub
End If
Application.ScreenUpdating = False
With Sheet1.Range("A:A")
Set rng = .Find(What:=TextBox1.Text)
If Not rng Is Nothing Then
myAddress = rng.Address
If ComboBox1.Value = "0.5MPa以下容积" Then
TextBox2.Value = Range(myAddress).Offset(0, 1).Value
Else: TextBox2.Value = Range(myAddress).Offset(0, 2).Value
End If
End If
End With
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton2_Click()
TextBox1 = ""
TextBox2 = ""
End Sub
Private Sub UserForm_Initialize()
Dim i As Integer
TextBox1 = ""
TextBox2 = ""
ComboBox1.Clear
For i = 2 To 3
UserForm1.ComboBox1.AddItem Trim(Cells(1, i).Value)
Next i
End Sub
这是VBA下的程序。我现在想修改成VB,数据改成MDB了,分别为ID,GD(高度)MPa1(0.5MPa以下容积),MPa2(0.5MPa以上容积) 效果是当我在气压那选择【0.5MPa以下容积】,然后输入一个高度时,系统自动查询到对应的容积。当我在气压那选择【0.5MPa以上容积】,然后输入一个高度时,系统自动查询到对应的容积。 展开
1个回答
展开全部
用数据库的形式打开和用VBA打仗开Excel在思路上完全不一样!
我的空间里有实例教程。
张志晨
下面是个过程模块:
Sub openMdb()
'添加Adodc1
'添加MSHFlexGrid1
Dim mdbPath As String
Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset
mdbPath = "E:\VBworkACCESS\mdb\test.mdb"
Set cn = New ADODB.Connection
Set Rs = New ADODB.Recordset
'将数据库绑定在组件Adodc1上,引擎使用的是Microsoft.Jet.OLEDB.4.0
'数据源是Data Source=" & App.Path & "\学生成绩统计.mdb;
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbPath & ";Persist Security Info=False"
'下面的cn是自定义的连接,不可见的,作用与Adodc1相同
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbPath & ";Persist Security Info=False"
cn.Open '拱形数据库
'建立SQL字符串
'cx = "select * from [user] where [姓名]='" & Text1.Text & "'"
cx = "select * from [user]"
'查询到表,虚拟表Rs
Rs.Open cx, cn, 1, 3 '用可读写方式打开
'查询显示到Adodc1
Adodc1.RecordSource = cx
Adodc1.Refresh '刷新组件Adodc1
Set MSHFlexGrid1.DataSource = Rs
MSHFlexGrid1.Refresh
'清除虚拟表
Rs.Close
'关闭连接
cn.Close
End Sub
再将数据和Text绑定…… 我需要你的数据库文件MDB(里面要有你需要的标准的数据),因为我的是数据库是*.accdb的,也就是说是2010版本的。系统里没有MDB文件。
我的空间里有实例教程。
张志晨
下面是个过程模块:
Sub openMdb()
'添加Adodc1
'添加MSHFlexGrid1
Dim mdbPath As String
Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset
mdbPath = "E:\VBworkACCESS\mdb\test.mdb"
Set cn = New ADODB.Connection
Set Rs = New ADODB.Recordset
'将数据库绑定在组件Adodc1上,引擎使用的是Microsoft.Jet.OLEDB.4.0
'数据源是Data Source=" & App.Path & "\学生成绩统计.mdb;
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbPath & ";Persist Security Info=False"
'下面的cn是自定义的连接,不可见的,作用与Adodc1相同
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbPath & ";Persist Security Info=False"
cn.Open '拱形数据库
'建立SQL字符串
'cx = "select * from [user] where [姓名]='" & Text1.Text & "'"
cx = "select * from [user]"
'查询到表,虚拟表Rs
Rs.Open cx, cn, 1, 3 '用可读写方式打开
'查询显示到Adodc1
Adodc1.RecordSource = cx
Adodc1.Refresh '刷新组件Adodc1
Set MSHFlexGrid1.DataSource = Rs
MSHFlexGrid1.Refresh
'清除虚拟表
Rs.Close
'关闭连接
cn.Close
End Sub
再将数据和Text绑定…… 我需要你的数据库文件MDB(里面要有你需要的标准的数据),因为我的是数据库是*.accdb的,也就是说是2010版本的。系统里没有MDB文件。
追问
您好,谢谢你的帮忙 方便的话 您留个邮箱或者QQ 我发给你 您帮我看看 谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询