Foxtable(狐表)用户栏目专家坐堂 → 复制粘贴EXCEL单元格,每粘贴一行,单元格内有几行(单元格内换行)会多出来几行空行是什么原因?


  共有4705人关注过本帖树形打印复制链接

主题:复制粘贴EXCEL单元格,每粘贴一行,单元格内有几行(单元格内换行)会多出来几行空行是什么原因?

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/17 20:08:00 [显示全部帖子]

1、测试的excel文件发上来。

 

2、具体说明赋值哪些数据,粘贴到哪些列出问题。截图说明。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/17 23:30:00 [显示全部帖子]

'
'粘贴带有换行的EXCEL单元格
If e.control = True AndAlso e.keycode = keys.v Then
    '执行代码
    Dim str As String = ClipBoard.GetText
    Dim nstr As String = ""
    Dim tempstr As String = ""
    Dim flag As Boolean = False
    For i As Integer = 0 To str.length - 1
        If str(i) = """" Then
            If i = 0 OrElse str(i-1) = chr(9) OrElse str(i-1) = chr(10) Then '开始
                flag = True
            ElseIf i = str.length-1 OrElse str(i+1) = chr(9) OrElse str(i+1) = chr(13) Then '结束
                tempstr = tempstr.Replace(chr(13), "")
                nstr &= tempstr
                tempstr = ""
                flag = False
            End If
        End If
        If flag = True Then
            tempstr &= str(i)
        Else
            nstr &= str(i)
        End If
    Next
    ClipBoard.SetText(nstr.replace("""", ""))
    str = ClipBoard.GetText
    Dim nr As Integer = str.Replace(vblf,"").Trim(vbcr).Split(vbcr).Length + (e.Table.RowSel) - e.Table.Rows.Count
    Dim k = e.Table.Rowsel
    Dim j = e.Table.Colsel
    If nr > 0 Then
        e.Table.AddNew(nr)
        e.Table.Select(k, J)
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/18 8:47:00 [显示全部帖子]

删除你前面的代码就可以了。keydown事件,只写4楼的代码即可。

 回到顶部