【问题标题】:Writing the values of a VBA collection to a worksheet将 VBA 集合的值写入工作表
【发布时间】:2017-09-26 07:16:06
【问题描述】:

这听起来像是一个简单的问题,但我找不到将集合(只是一列)的输出写入工作表的简单方法。

Collection 在 debug.print 上给出了正确的答案,而我想做的只是将输出放在工作表上,然后清除输出。

这是我收集的主要代码;

Worksheets(Ders_Sheet_Adi).Visible = True
Dim LastRowXL_1, LastRowXL_2, LastRowXL_3 As Long
Dim uniques As Collection
Dim Source_XL As Range

LastRowXL_1 = Worksheets(Ders_Sheet_Adi).Cells(Rows.Count, 40).End(xlUp).Row
LastRowXL_2 = Worksheets(Ders_Sheet_Adi).Cells(Rows.Count, 41).End(xlUp).Row
LastRowXL_2_Q = LastRowXL_2 + 1
LastRowXL_3 = Worksheets(Ders_Sheet_Adi).Cells(Rows.Count, 42).End(xlUp).Row
LastRowXL_3_Q = LastRowXL_3 + 1
LastRowXL_4_Q = LastRowXL_3_Q + LastRowXL_1 + 1

XL_Main = WorksheetFunction.Max(LastRowXL_1, LastRowXL_2, LastRowXL_3)

Set Source_XL = Worksheets(Ders_Sheet_Adi).Range("AN2:AP" & XL_Main & "")
Set uniques = GetUniqueValues(Source_XL.Value)

【问题讨论】:

  • 下面的链接可能会对您有所帮助。 stackoverflow.com/questions/18227942/…
  • 我怀疑您是否可以对集合执行 Debug.print - 这会引发错误(450 - 参数数量错误或属性分配无效)。您必须遍历集合的项目才能打印或将其写入工作表。
  • 你能发布你的代码,成功地调试。打印值吗?正如@funthomas 所说,您必须遍历这些值

标签: vba collections


【解决方案1】:

我找到了一种方法,只需在集合后放置一个 For 数组即可。 我把这些代码放在集合之后,瞧,它现在可以工作了;

Dim it_XL

Worksheets(Ders_Sheet_Adi).Range("AN1:AP1100").Select
Selection.ClearContents

it_XLQ = 1
For Each it_XL In uniques
If it_XLQ = 1 Then it_XLQ_M = 100 Else it_XLQ_M = it_XLQ - 1
Worksheets(Ders_Sheet_Adi).Range("AP" & it_XLQ & "") = it_XL
If Worksheets(Ders_Sheet_Adi).Range("AP" & it_XLQ & "") = Worksheets(Ders_Sheet_Adi).Range("AP" & it_XLQ_M & "") Then
Worksheets(Ders_Sheet_Adi).Range("AP" & it_XLQ & "").Delete
GoTo Son2
Else: GoTo Son3
End If
Son3:
it_XLQ = it_XLQ + 1
Next

Worksheets(Ders_Sheet_Adi).Range("AP1:AP20").Copy
Worksheets(Ders_Sheet_Adi).Range("AQ1:AQ20").PasteSpecial Paste:=xlPasteValues

Son2:

LastRow_END = Worksheets(Ders_Sheet_Adi).Cells(Rows.Count, 43).End(xlUp).Row

【讨论】:

    猜你喜欢
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    相关资源
    最近更新 更多