gpt4 book ai didi

excel - Worksheet.Cells 属性有什么作用?

转载 作者:行者123 更新时间:2023-12-02 21:54:59 26 4
gpt4 key购买 nike

我的第一个问题是 Cells(i, 4) 命令的作用是什么,一直到 Cells(i, 7)。

Option Explicit

Sub batch1()
Sheets("Batch").Activate
Range("A1").Activate
Dim name, office As String
Dim q1, q2, q3, q4 As Double
Dim i As Integer
i = 2


Do Until IsEmpty(ActiveCell)
DoEvents
name = ActiveCell.Offset(0, 1) & " " & ActiveCell.Offset(1, 1)
office = ActiveCell.Offset(2, 1)

q1 = ActiveCell.Offset(3, 1)
q2 = ActiveCell.Offset(4, 1)
q3 = ActiveCell.Offset(5, 1)
q4 = ActiveCell.Offset(6, 1)

Cells(i, 4) = name
Cells(i, 5) = office
Cells(i, 6) = WorksheetFunction.Sum(q1, q2, q3, q4)
Cells(i, 7) = WorksheetFunction.Average(q1, q2, q3, q4)
i = i + 1

ActiveCell.End(xlDown).Activate
ActiveCell.End(xlDown).Activate
Loop

Range("a1").Activate

End Sub

我的下一个问题是为什么我们必须激活此工作表和第一个单元格,我们不能在不激活它的情况下开始吐出代码吗?或者此代码是否有某些特定内容使我们必须激活它?

Option Explicit

Sub batchPractice()

Dim name, place, weapon As String
Dim iCount As Integer
Dim candlestick, dagger, leadpipe, revolver, rope, wrench As Integer
iCount = 1


Sheets("BatchPractice").Activate
Range("a1").Activate

Do Until IsEmpty(ActiveCell)
DoEvents

name = ActiveCell
place = ActiveCell.Offset(1, 0)
weapon = ActiveCell.Offset(2, 0)

Cells(iCount, 3) = name & " in the " & place & " with the " & weapon
iCount = iCount + 1

If weapon = "Candlestick" Then
candlestick = candlestick + 1
ElseIf weapon = "Dagger" Then
dagger = dagger + 1
ElseIf weapon = "Dagger" Then
dagger = dagger + 1
ElseIf weapon = "Lead Pipe" Then
leadpipe = leadpipe + 1
ElseIf weapon = "Revolver" Then
revolver = revolver + 1
ElseIf weapon = "Rope" Then
rope = rope + 1
ElseIf weapon = "Wrench" Then
wrench = wrench + 1
Else
MsgBox ("Unknown weapon: " & weapon)
End If

ActiveCell.End(xlDown).Activate
ActiveCell.End(xlDown).Activate

Loop

Range("E2") = candlestick
Range("E3") = dagger
Range("E4") = leadpipe
Range("E5") = revolver
Range("E6") = rope
Range("E7") = wrench

End Sub

最佳答案

1) Cells 的作用是什么?
Cells 属性获取/设置您指定的单元格中的数据。在你的例子中:Cells(i, 4) = name,您尝试将名称放入我们循环遍历的行 (i) 和第 4 列中。

Cells Function


2)为什么我们必须.activate这个工作表和第一个单元格,我们不能直接开始吐出代码而不激活它吗?
目前,该脚本正在从“批处理”工作表中提取数据,因此它会激活以仅关注该特定工作表。通常,如果不指定工作表,VBA 将使用上次激活的工作表。

该单元格被激活,因为它随后开始使用其附近的特定单元格,例如 ActiveCell.Offset(2, 1),因此从 A1 向下 2 行,横向 1 列。使用 Range("C2").ValueCells(3, 2).Value 可以实现相同的效果,因为它实际上似乎并没有改变值。



我建议您在线学习一些类(class),我使用 YouTube 作为 VBA 快速速成类(class)。我发现它是最容易掌握的语言。

关于excel - Worksheet.Cells 属性有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29718701/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com