vba查询代码
大米小米无米
2024-05-24 22:02:20
最佳回答
1、查询第b到j列(也包括l到s列)内的内容,如果查询到,则返回第a列(或第k列内)的值。请问代码应该怎么写??for m=1 to 最大行数 if sheet1.cells(m, 2).value="搜寻值" then '第2列代表合并后的b到j列 msgbox sheet1.cells(m, 1).value '返回第a列内容 end if if sheet1.cells(m, 12).value="搜寻值" then '第12列代表合并后的l到s列 msgbox sheet1.cells(m, 11).value '返回第k列内容 end ifnext2、把几列或几行进行合并居中后,这个单元格应该如何用坐标表示呢?? 是以合并单元格中那个最左最上角的单元格坐标为准,如上面第一题的回答。记得给分,:) ----------------------------------------------------------------------1、查询第b到j列(也包括l到s列)内的内容,sheet1.cells(m, 2).value="搜寻值" then ,这个必须要全部字符串匹配吧,事实上我只查询这个单元格内的某一个词组啊。那可以用模糊查询:if instr(sheet1.cells(m, 2).value,"搜寻值")>0 then2、 msgbox sheet1.cells(m, 1).value '返回第a列内容,有可能查询到的第“m”行,并不是“最左最上角的单元格”,所以(m,1)其实是没有值的。怎么解决呢?这个没有任何影响,也不会报错,例如第m行和第m+1行是行合并的单元格,且合并后的单元格内容为“测试”二字,则:msgbox sheet1.cells(m, 1).value '返回的是“测试”二字msgbox sheet1.cells(m+1, 1).value '返回的是“”空值,并不影响其他匹配和筛选操作、也不会报错,因此循环的时候就算轮到合并后的空行也没有关系的,你可以试试。 20210311