MSDN > 論壇首頁 > Visual Studio Tools for Office > How to fill a Range from an array in vsto and excel 2003
發問發問
 

已答覆How to fill a Range from an array in vsto and excel 2003

  • 2007年12月5日 下午 11:26MaxJC 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     

    Hi

     

    I'd appreciate if someone shows me how to fill an excel range with an array data using vsto and visual basic, with one or two lines of code (not cell by cell).

     

    My array and my range look like A(2000, 25) and Range("A11:Z2000)

     

    Thank you very much!

    Max

     

     

解答

  • 2007年12月6日 上午 07:37Ji.ZhouMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆

    Hi,

     

    There are two ways to do that. One is using 2D array, and another is using Application.WorkbookFunction.Transpose(array)

    A very good blog article and followed discussions are available in Eric Carter’s blog:

    http://blogs.msdn.com/eric_carter/archive/2004/05/04/126190.aspx

    Codes work fine in my side:

    Code Block

                int[] arr = new int[5];
                arr[0] = 0;
                arr[1] = 1;
                arr[2] = 2;
                arr[3] = 3;
                arr[4] = 4;

                app.get_Range("A1", "A5").Value2 = app.WorksheetFunction.Transpose(arr);

     

     

     

     

     

    Thanks

    Ji

     

  • 2007年12月6日 下午 06:58MaxJC 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆

    Ji:

    It worked well !

    Thank you very much Ji

    Max

所有回覆

  • 2007年12月6日 上午 07:37Ji.ZhouMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆

    Hi,

     

    There are two ways to do that. One is using 2D array, and another is using Application.WorkbookFunction.Transpose(array)

    A very good blog article and followed discussions are available in Eric Carter’s blog:

    http://blogs.msdn.com/eric_carter/archive/2004/05/04/126190.aspx

    Codes work fine in my side:

    Code Block

                int[] arr = new int[5];
                arr[0] = 0;
                arr[1] = 1;
                arr[2] = 2;
                arr[3] = 3;
                arr[4] = 4;

                app.get_Range("A1", "A5").Value2 = app.WorksheetFunction.Transpose(arr);

     

     

     

     

     

    Thanks

    Ji

     

  • 2007年12月6日 下午 06:58MaxJC 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆

    Ji:

    It worked well !

    Thank you very much Ji

    Max