《Excel你问我答挑战》两列数据列出全部组合



Sub aa()
'创建 SQL 使用对象
Dim Cnn As Object, Rs As Object
Set Cnn = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.Recordset")
Cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & ThisWorkbook.FullName
'以上格式是固定的,不需要记
strSQL = "select a.名称,b.名称 from [sheet1$B:B] as a left join [sheet1$C:C] as b on a.名称 <> b.名称 "
'SQL 语句,根据需要变化,以字符串形式保存
'重点说下 [sheet1$B:B] 指的是 Sheet1 表中 B整列,[Sheet1$] 是整个表 ,[sheet1$C:C] as b 中的as 起别名 b
'执行SQL 语句
Rs.Open strSQL, Cnn
将结果写入表中
Range("E2").CopyFromRecordset Rs
'关闭SQL对象
Rs.Close
Cnn.Close
Set Rs = Nothing
Set Cnn = Nothing