【问题标题】:Excel VBA - If number of rows contain text then enter specific text in cellExcel VBA - 如果行数包含文本,则在单元格中输入特定文本
【发布时间】:2016-05-10 11:47:27
【问题描述】:

我正在尝试计算如何计算其中包含文本的单元格数量,然后根据包含文本的单元格总数,将某些文本粘贴到其他单元格中。

即如果单元格 A1:A3 包含文本,则在单元格 B1 中输入“3x1”并在单元格 B2 中输入“3x2”。

同样,如果单元格 A1:A4 包含文本,则在单元格 B1 中输入“4x1”并在单元格 B2 中输入“4x2”。

更新1:

让我尝试再举一个例子,因为数字在编码时会让人感到困惑 :) 如果单元格 A1:A3 有文本,计算它,然后根据有多少单元格有文本,在 B2 和 B3 中输入下面 2 B2 中文本 =“三”且 B3 中文本“四”的单元格 B2 中文本 =“五”和 B3 中文本“六”的 3 个单元格

包括以上内容,我想再添加一件事,即忽略任何单元格,如果有,则不将其包括在计数中,比如说数字 242

【问题讨论】:

  • 努力理解 3x1,3x2 约定的逻辑。 2从哪里来?第二排?只是为了让我们准确了解您要做什么

标签: excel vba


【解决方案1】:

请查看适合您要求的解决方案

Sub test1()
Dim wb As Workbook
Dim rng As Range
Dim LastRow As Long
Dim ws As Worksheet

Set wb = ThisWorkbook
Set ws = wb.Worksheets("Sheet1")

With ws
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With


ws.Range("B1").Value = """" & LastRow & "X1"""
ws.Range("B2").Value = """" & LastRow & "X2"""


End Sub

【讨论】:

  • 您是不是错过了仅计算包含文本的单元格的步骤?因此,您需要排除任何可能包含公式、数字或空白的单元格(在非空单元格之间)。不?但也许我只是没有正确理解这个问题。
  • 非常感谢 newjenn,尽管正如 Ralph 指出的那样,它确实需要检查单元格中的文本,而不仅仅是计算行数。其次,无论如何我都尝试输入您的代码,但是当我运行它时,为什么由于某种原因我得到数字“X1/X2 之前的 20”。你能不能让它输入特定的文本而不仅仅是计算文本
【解决方案2】:

这样的例子。

Sub Testing()

LastRow = Range("A" & Rows.Count).End(xlUp).Row`


For i = 1 to LastRow
If Worksheets(ActiveSheet.Name).Cells(j, i) = "Pass" Then
  Worksheets(ActiveSheet.Name).Cells(k, i).Value = "Pass"

End If
Next i

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多