liupeng1990607 发表于 2013-4-9 18:01:48

kevinch 兄帮忙解决下 vba导入到listview时内容不全?

本帖最后由 liupeng1990607 于 2013-4-9 18:27 编辑

$xls1 = FileOpenDialog("选择需要导入的excel表", @DesktopDir, "Excel2003文档(*.xls)", 1)
    If @error Then
           MsgBox(16,"错误","您没有选择文件")
        Else
        $xls = ObjGet($xls1)
        With $xls.worksheets("sheet1")
                $arrt = .range("a1").currentregion.value
                $arrt = .application.transpose($arrt)
                .parent.close(False)
        EndWith
        $ListView2 = GUICtrlGetHandle($ListView)
        _GUICtrlListView_DeleteAllItems($ListView2)
        _GUICtrlListView_AddArray($ListView, $arrt)
endif
vba 在excel导入到listview时 只导入了excel表中前面的几列 我只有5行数据 。但数据有几百上千行时 却又是正常的 求解!!!!

一行数据中 有的单元格是空的 这个有影响吗

这个是excel表 为什么会这样
好像是因为中间有空值才出现这样啊 但数据是必须要有空值的 怎么办

kevinch 发表于 2013-4-9 19:15:06


$arrt = .range("a1").currentregion.value
换成
$arrt = .usedrange.value

没看文件,估计是这个原因,currentregion有个局限,当出现完全空白的行或列时分隔开的就取不到了,具体结果可以选择A1单元格后按ctrl+a试一下就明白了

liupeng1990607 发表于 2013-4-10 09:21:56

回复 2# kevinch


    kevinch兄永远是那么犀利 谢谢!!!!!!!!!!!

liupeng1990607 发表于 2013-4-10 09:44:39

本帖最后由 liupeng1990607 于 2013-4-10 09:47 编辑

回复 2# kevinch


    kevinch兄另外我想请教下 如果从listview中导出能不能把列标题也导入到excel中,
然后excel导入到listview时又如何从"A2"行开始导入到listview中,去掉列标题
因为我想做到数据导出excel   然后还可以把excel再导入到listview中

导出代码:        Local $oExcel_temp = _ExcelBookNew() ;创建新工作簿, 并使其可见
        $oExcel_temp.activesheet.range("A1").resize(UBound($APP), 29) = $oExcel_temp.transpose($APP)导入代码:$xls = ObjGet($xls1)
                With $xls.worksheets("sheet1")
                        $arrt = .usedrange.value
                        $arrt = .application.transpose($arrt)
                        .parent.close(False)
                EndWith现在列的标题不能导出来

liupeng1990607 发表于 2013-4-10 16:39:12

回复 2# kevinch


    我用au3的函数解决了 我相信用vba也可以吧

blue_dvd 发表于 2013-4-13 00:33:37

kevinch兄永远是那么犀利!
页: [1]
查看完整版本: kevinch 兄帮忙解决下 vba导入到listview时内容不全?