首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >粘贴数组值并正常粘贴

粘贴数组值并正常粘贴
EN

Stack Overflow用户
提问于 2013-04-02 15:59:05
回答 2查看 1.1K关注 0票数 0

我今天遇到了这个VBA程序的问题,它已经工作了几天了,现在它开始变得糟糕了。我hav.nt更改了我所知道的导致这个问题的任何东西,因为这只是一个简单的复制和粘贴,只是将一个单元格值设置为数组的值。我一直在玩弄它,寻找答案,但似乎找不到任何解决方法。

代码语言:javascript
复制
Worksheets(1).Select
For i = 1 To N
    Worksheets(1).Cells(3 + i, 1).Value = Current(i)
Next i

For h = 1 To holidays
    Worksheets(h).Select
    Range(Worksheets(h).Cells(4, 6), Worksheets(h).Cells(4 + N, 100)).Select
    Selection.Copy
    Worksheets("Sort Sheet").Select
    Cells(1, 1).Select
    Selection.PasteSpecial
    For f = 1 To N
        For i = 1 To N
        If Position(i) = f Then

            Range(Worksheets("Sort Sheet").Cells(f, 1), Worksheets("Sort Sheet").Cells(f, 100)).Select
            Selection.Copy
            Worksheets(h).Select
            ActiveSheet.Cells(i + 3, 6).Select
            ActiveSheet.PasteSpecial
            Application.CutCopyMode = False

        End If
        Next i
    Next f
Next h
End Sub

有错误的第一行是ActiveSheet.PasteSpecial,我尝试了普通的粘贴和粘贴,粘贴了一整行和一个定义的范围。但似乎没有什么能让它发挥作用。

有错误的第二行是工作表(1).Cells(3+ i,1).Value = Current(i),这一直持续到今天,所以我不明白它为什么会停止,current(i)是一个一维数组值,它是一个名称,比如"TONY BUGGENS“。

整个程序是一个排序程序,所以它对数组中的名称进行排序,然后将它们粘贴到电子表格中的原始名称上。

谢谢你们的帮助,我相信我可能忽略了一些简单的事情。今天一大早。

干杯,艾米

EN

回答 2

Stack Overflow用户

发布于 2013-04-02 16:39:25

不要使用Activesheet,而是使用以下样式命名工作表:

代码语言:javascript
复制
Thisworkbook.Sheets("Sheetname")

Activesheet最终可能会导致错误。

此外,不是复制粘贴,而是以此样式指定值:

代码语言:javascript
复制
Thisworkbook.Sheet("Destination").range("A1:B2").Value = Thisworkbook.Sheet("Source").range("A1:B2").Value

确保源范围和目标范围始终具有相同的大小。

当然,以您的方式使用cells是可以的。

至于第二个bug,最好的办法就是使用VBA的“局部变量窗口”,它会显示您的局部变量。您的代码不会显示数组中填充的内容,但可以在“局部变量”窗口中对其进行验证。您还可以使用:

代码语言:javascript
复制
debug.print current(i) 

来验证数组中包含的内容。如果数组包含无法赋值的值或对象,则需要验证分配给该数组的值或对象

代码语言:javascript
复制
current(i) = <???> 

如果它解决了你的问题,请告诉我。

票数 0
EN

Stack Overflow用户

发布于 2013-04-02 17:23:52

问题是工作表内置了宏,无论工作表中的任何内容发生变化,这些宏都会运行。这发生在我的程序中,我相信它正在清除我的剪贴板,并使它尝试粘贴任何东西。

第二个问题是由于程序的自动保护。

整个电子表格是一团糟,因为程序员显然没有做好工作,我已经画出了整理它的短稻草。

谢谢你们的帮助,我可能很快又需要它了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15758971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档