vba从mysql取数_Excel vba如何将范围传递给函数从mysql中检索数据

我写了一个vba来传递范围的偏移量作为另一个函数的查询表的输入,但是我遇到错误。

Sub test2()

Dim LastCol As Long

With ThisWorkbook.Sheets("Summary (AIX)")

LastCol = .Range("A2").SpecialCells(xlCellTypeLastCell).Column

End With

Dim r As Long

Dim ser_name As String

Dim y As String

For r = (LastCol - 1) To 2 Step -2

With ThisWorkbook.Sheets("Summary (AIX)")

y = Cells(2 + 2, r + 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)

MsgBox CStr(Cells(2, r).Value)

ser_name = CStr(Cells(2, r).Value)

get_unix_avg_cpu ser_name, y

End With

Next r

End Sub================================================== =======================

Sub get_unix_avg_cpu(server_hostname, x)

Dim oRS As ADODB.Recordset

Dim ConnString As String

Dim SQL As String

Dim qt As QueryTable

ThisWorkbook.Sheets(server_hostname).Activate

ConnString = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=test;User=root;Password=123456;Option=3;"

Set oCn = New ADODB.Connection

oCn.ConnectionString = ConnString

oCn.Open

SQL = "SELECT cpu_max_unix_0.CPU FROM test.cpu_max_unix cpu_max_unix_0 where cpu_max_unix_0.SERVER_NAME='" & server_hostname & "' Order By cpu_max_unix_0.LOGDATE"

Set oRS = New ADODB.Recordset

oRS.Source = SQL

oRS.ActiveConnection = oCn

oRS.Open

Set qt = ThisWorkbook.Sheets("Summary (AIX)").QueryTables.Add(Connection:=oRS, _

Destination:=ThisWorkbook.Sheets("Summary (AIX)").Range(x))

qt.Refresh

If oRS.State <> adStateClosed Then

oRS.Close

End If

If Not oRS Is Nothing Then Set oRS = Nothing

If Not oCn Is Nothing Then Set oCn = Nothing

End Sub停在“Sub get_unix_avg_cpu(server_hostname,x)”上

编译错误:用户定义类型未定义

请帮忙!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值