【发布时间】:2021-01-10 19:53:59
【问题描述】:
早上好!
我正在尝试:
1 - 循环我的所有工作表,从第二张工作表开始(直到它工作);
2 - 求最大值、最小值和区间(Max-Min Value/4),分配给单元格,再定义 3 个区间 iQ1、iQ2 和 iQ3。这样我得到了构建 4 个分位数所需的所有间隔(直到这里它也可以工作);
3 - 现在,在每个工作表和同一个循环中,我需要在 F 列中搜索
我需要这个,因为之后我需要计算每个分位数的中位数。
我只为 F 列尝试了第一个循环,但它失败了这个和我尝试的其他事情。请您帮我解决第 3 项,好吗?
谢谢,祝你有美好的一天!
Application.ScreenUpdating = False
Dim ws2 As Worksheet
Dim x As Long, Interval As Double, MaxValue As Double, MinValue As Double, iQ1 As Double, iQ2 As Double, iQ3 As Double, rw2 As Object
For x = 2 To Sheets.Count
Sheets(x).Activate
Dim c As Range
Set c = Range("F2:F" & Rows.Count)
MaxValue = Application.WorksheetFunction.Max(c)
MinValue = Application.WorksheetFunction.Min(c)
Interval = (MaxValue - MinValue) / 4
Sheets(x).Range("I2").Value = Interval
Sheets(x).Range("P2").Value = MaxValue
Sheets(x).Range("O2").Value = MinValue
Sheets(x).Range("J2:M500000").Clear
iQ1 = MinValue + Interval
iQ2 = iQ1 + Interval
iQ3 = iQ2 + Interval
For Each rw2 In Sheets(x).Range(c) 'Here is the loop that I'm stucked
If rw2.Cells(6).Value <= iQ1 Then 'Here is the condition blue for F, it's in the picture
With Sheets(x)
rw2.EntireRow.Copy
.Cells(.Rows.Count, "J2:J").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End With
End If
Next rw2
Next x
Application.ScreenUpdating = True
【问题讨论】:
-
你能举一个输出的例子吗,每个工作表是否遵循相同的输入/输出模式
-
嗨,理查德,早上好!图像是输出。例如:在 F 列,所有 iQ1 和
-
当你尝试运行代码时当前输出什么?
-
所有 quartil 1 都是蓝色而所有 quartil 2 都是橙色等只是偶然还是数据总是这样排列?
-
所有数据都需要这样排列。为此,我需要一个循环。颜色只是为了解释。所以,想象一下 quartil 1(列 F
标签: excel vba loops copy-paste