Excel 有没有办法通过循环类属性来填充它们?

Excel 有没有办法通过循环类属性来填充它们?,excel,vba,Excel,Vba,因此,我正在编写一些代码,这些代码工作得非常完美,但却让我非常烦恼: For i = 3 To UBound(arr) If arr(i, 4) = 0 Then Exit For Login = arr(i, 4) Agentes.Logins(Login).Negocio = DatosAgente("NEGOCIO") Agentes.Logins(Login).Mes = DatosAgente("MES") Agentes.Logins(Logi

因此,我正在编写一些代码,这些代码工作得非常完美,但却让我非常烦恼:

For i = 3 To UBound(arr)
    If arr(i, 4) = 0 Then Exit For
    Login = arr(i, 4)
    Agentes.Logins(Login).Negocio = DatosAgente("NEGOCIO")
    Agentes.Logins(Login).Mes = DatosAgente("MES")
    Agentes.Logins(Login).Año = DatosAgente("AÑO")
    Agentes.Logins(Login).Modo = aDatosAgente("MODO")
    Agentes.Logins(Login).Coordinador = DatosAgente("COORDINADOR")
    Agentes.Logins(Login).Incorporacion = DatosAgente("FECHA INCORPORACIÓN")
    Agentes.Logins(Login).Antiguedad = DatosAgente("ANTIGÜEDAD")
    For j = 9 To UBound(arr, 2) Step 6
        Fecha = arr(1, j)
        Agentes.Logins(Login).Fechas(Fecha).VentasVerificadas = arr(i, Encabezados(Fecha & j))
        Agentes.Logins(Login).Fechas(Fecha).VentasCargadas = arr(i, Encabezados(Fecha & j + 1))
        Agentes.Logins(Login).Fechas(Fecha).Llamadas = arr(i, Encabezados(Fecha & j + 2))
        Agentes.Logins(Login).Fechas(Fecha).AHT = arr(i, Encabezados(Fecha & j + 3))
        Agentes.Logins(Login).Fechas(Fecha).TMO = arr(i, Encabezados(Fecha & j + 4))
        Agentes.Logins(Login).Fechas(Fecha).PorcentajeVerificadas = arr(i, Encabezados(Fecha & j + 5))
        Agentes.Logins(Login).Fechas(Fecha).PorcentajeCargadas = arr(i, Encabezados(Fecha & j + 6))
    Next j
Next i
如您所见,我需要手动输入每个类属性。我为第一部分做了一个函数,但是我想知道如果我必须把它们都写出来,为什么还要麻烦呢

是否可以循环遍历我的类拥有的所有属性并填充它们,这样代码看起来更干净,我只需要使用几个辅助函数


附言:我已经在CodeReview上问过了,他们让我来这里。

是的,可以。不过,这可能对你没有帮助。单独设置属性没有错,尤其是设置不同的值。谢谢@GSerg提供的信息,但是是的。。。这对我没有帮助,因为我需要分配它们。遗憾的是,这不能做到:(可以通过使用获取的属性名来完成。只是它几乎不会使您的代码变得更好。