从Excel工作表中提取列范围

时间:2016-05-31 20:20:45

标签: excel vba excel-vba macros

我目前正致力于将多个工作簿中的多个工作表中的数据解析为摘要工作表。我已经能够从所有工作表和工作簿中选择某些单元格,但是如果可能的话,我想提取一系列列。如何将此选项添加到循环条件中? 例如,如果我有一个名为"星期一的工作表"我想提取单元格范围A2到C57并将其添加到我新创建的工作表。

  option explicit

   Dim objHTTP
   dim strURL
   dim objFile

   dim objFSO
   Set objFSO = CreateObject("Scripting.FileSystemObject")
   Set objHTTP = CreateObject("MSXML2.XMLHTTP")
   ' WORKS:
   strURL = "http://real-chart.finance.yahoo.com/table.csv?s=UPRO&a=04&b=21&c=2016&d=04&e=31&f=2016&g=d&ignore=.csv"
   ' DOES NOT WORK:
   strURL = "www.google.com/finance/getprices?q=UPRO&i=60&p=20d&f=d,c,v,k,o,h,l&df=cpct&auto=0&ei=Ef6XUYDfCqSTiAKEMg"

   objHTTP.open "GET", strURL, False
   objHTTP.send
   msgbox objHTTP.responseText 
   Set objFile = objFSO.CreateTextFile _
      ("Yahoo.csv", 2)
   objFile.Write objHTTP.ResponseText
   objFile.Close

1 个答案:

答案 0 :(得分:0)

如果您将链接创建移动到单独的子代码,您的代码将更加简洁,并且您可以让sub自动调整公式的类型(单个单元格的常规或单元格块的数组公式)

#include <iostream>
using namespace std;

int main ()
{
    int A[6][6], i, j, k, max, min;
    for (int i=0; i<6; i++)
    {
        cout << "Enter a number: "<<endl;
        for (int j=0; j<6; j++)
        {
            cin >> A[i][j];
        }
    }
    for (int i=0; i<6; i++)
    {
        for (int j=0; j<6; j++)
        {
            cout << " " << A[i][j];
        }
    }
    if (j > 0)
    {
        cout << "A: "<<endl;
    }
    else if (j < 0)
    {
        cout << "B: "<<endl;
    }
    cin.get();
    char ch1;
    cin>>ch1;
    return 0;
}