循环将变量设置为工作表

时间:2016-10-26 17:15:16

标签: vba excel-vba excel

您好我的问题如下: 我用来声明例如ws作为工作表,然后将其设置为特定的工作表。这样当我在ws之后键入点时,我得到了可以使用的方法的建议。

现在我有一个包含大量工作表的工作簿,我希望能够将每个工作表设置为不同的工作表。

你认为用循环实现是否可能?感谢

我尝试过类似的东西 编辑

// Example program
#include <iostream>
#include <complex>

template<typename NumberType>
class SomeClass
{
public:
    SomeClass(NumberType a_) : a(a_) {}
    void get_number() {
        std::cout << a << std::endl;
    }

private:
    NumberType a;
};

template<>
void SomeClass<std::complex<double> >::get_number() {
    std::cout << a.real() << " " << a.imag() << std::endl;
}

int main()
{
    int a=1;
    std::complex<double> c(2.0,3);

    SomeClass<int> A(a);    
    A.get_number();

    SomeClass<std::complex<double> > C(c);
    C.get_number();

    return 0;
}

但它不起作用 感谢大家的帮助

2 个答案:

答案 0 :(得分:1)

您可以使用数组:

Dim n
Dim ws() as Worksheet

n = 50

Redim ws(1 to n)

for i = 1 to n
    set ws(i) = thisworkbook.Sheets(i)
Next

答案 1 :(得分:1)

或者这样:

    Sub AssignWSobjectsToWorksheets()

        Dim i As Integer, n As Integer
        Dim ws() As Worksheet

        n = ThisWorkbook.Worksheets.Count

        ReDim ws(1 To n)

        For i = 1 To n
            Set ws(i) = ThisWorkbook.Worksheets(i)
        Next
    End Sub

请注意,表格是所有标签的集合(例如包括图表),工作表仅包含电子表格