Visual Studio Developer Center > Visual Studio Forums > Visual Studio Tools for Office > How to fill a Range from an array in vsto and excel 2003
Ask a questionAsk a question
 

AnswerHow to fill a Range from an array in vsto and excel 2003

  • Wednesday, December 05, 2007 11:26 PMMaxJC Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    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

     

     

Answers

  • Thursday, December 06, 2007 7:37 AMJi.ZhouMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    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

     

  • Thursday, December 06, 2007 6:58 PMMaxJC Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    Ji:

    It worked well !

    Thank you very much Ji

    Max

All Replies

  • Thursday, December 06, 2007 7:37 AMJi.ZhouMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    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

     

  • Thursday, December 06, 2007 6:58 PMMaxJC Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    Ji:

    It worked well !

    Thank you very much Ji

    Max