gpt4 book ai didi

文本中的 VBA 选择案例循环

转载 作者:行者123 更新时间:2023-12-04 21:07:56 26 4
gpt4 key购买 nike

尝试遍历一系列单元格并根据另一个单元格中的文本值为它们分配标签。因此,如果单元格 J2 =“此文本”,则单元格 A2 =“此标签”

截至目前,我不断收到运行时错误号 424,说明需要对象

Private Function getPhase(ByVal cell As Range) As String
Select Case cell.Text
Case "Text1"
getPhase = "Label1"
Case "Text2"
getPhase = "Label2"
End Select
End Function


Sub setPhase()
Dim cycle As Range
Dim phase As Range


Set cycle = Range("J2:J10")
Set phase = Range("A2:A10")

For Each cell In phase.Cells
phase.Text = getPhase(cycle)
Next cell

End Sub

最佳答案

你已经得到了你的答案 :) 让我在我的帖子中做一些解释 :)

你不能使用这个。

phase.Text = getPhase(cycle)
.Text只读 属性(property)。即您不能写入它,而只能从中读取。您必须使用 .Value
其次,如果您从同一行中选取值,则不需要定义第二个范围。您可以随时联系我们 .Offset属性(property)。看到这个
Option Explicit

Sub setPhase()
Dim rng As Range, phase As Range

Set phase = Sheets("Sheet1").Range("A2:A10")

For Each rng In phase
rng.Value = getPhase(rng.Offset(, 9))
Next
End Sub

Function getPhase(ByVal cl As Range) As String
Select Case cl.Value
Case "Text1"
getPhase = "Label1"
Case "Text2"
getPhase = "Label2"
End Select
End Function
Select Case cell.Text也没有错因为你只是从中阅读。但是,使用 .Value 总是好的。 .原因是 .Value属性返回单元格的实际值,其中 .Text属性返回显示在屏幕上的文本。在更高版本的 Excel 中,文本的限制约为 8k 个字符。 .Value另一方面,最多可以存储 32k 个字符。

关于文本中的 VBA 选择案例循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11215790/

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