VBA在Excel中运行正常,但在Visual Basic窗体中抛出错误1004?

时间:2015-06-02 00:56:04

标签: excel-vba vba excel

我有一个带有宏的启用宏的工作簿,然后我使用Visual Studio创建了一个表单,我使用它:

Private Sub GenerateBtn_Click(sender As Object, e As EventArgs) Handles GenerateBtn.Click
    APP.Run("'CAT-prueba-de-macros.xlsm'!CrearListaCarreras")
End Sub

当我在Excel中运行宏时它可以正常工作,但是当我使用APP.Run时,会出现一个Excel错误

  

"错误1004:复制区域和粘贴区域的大小和形状不同"

在这部分宏中:

Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("B1").Select
**Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=True**
Columns("A:A").Select
Selection.Delete Shift:=xlToLeft

1 个答案:

答案 0 :(得分:0)

我认为您的问题与在您的VBA中使用Select并使用Range而未指定其工作表有关,我建议您使用以下代码:

Dim ws As Worksheet

Set ws = ActiveSheet
ws.Range("A1", ws.Range("A1").End(xlDown)).Copy
ws.Range("B1").PasteSpecial Transpose:=True
ws.Range("A:A").Delete Shift:=xlToLeft