Excel:循环一行单元格并打印每行
我想在另一张纸上打印一行信息。 问题是行的数量总是动态的,而不是静态的 例如:Excel:循环一行单元格并打印每行,excel,loops,if-statement,while-loop,do-while,Excel,Loops,If Statement,While Loop,Do While,我想在另一张纸上打印一行信息。 问题是行的数量总是动态的,而不是静态的 例如: *A1 = 4 *B1 = Thomas *C1 = Apples *A2 = 2 *B2 = Jerry *C2 = Oranges *A3 = 1 *B3 = Tiffany *C3 = Strawberries 我想要的是打印这些行和一些字符串 因此,在表2中,从A1开始 我想让它读出来 A1“数量”和A1&“必须由”&B1&“产品将”&C1&chr(10)构成 “Thomas product必须消费4
*A1 = 4
*B1 = Thomas
*C1 = Apples
*A2 = 2
*B2 = Jerry
*C2 = Oranges
*A3 = 1
*B3 = Tiffany
*C3 = Strawberries
我想要的是打印这些行和一些字符串
因此,在表2中,从A1开始
我想让它读出来
A1“数量”和A1&“必须由”&B1&“产品将”&C1&chr(10)构成
“Thomas product必须消费4个苹果”(每行后面的新行)
我不知道如何创建这样的外观,所以我不必担心行数。不太清楚打印每行的意思 您可以循环遍历列“A”中的所有值,并将下一列“D”中的值连接起来,如下所示:
Sub Macro1()
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Dim rRng As Range
Set rRng = Range("A1:A" & LastRow)
For Each cell In rRng.Cells
cell.Offset(0, 3).Value = "A quantity of " & cell.Value & " must be consumed by " & cell.Offset(0, 1).Value & " product will be " & cell.Offset(0, 2).Value
Next
End Sub
结果如下所示:
Sub Macro1()
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Dim rRng As Range
Set rRng = Range("A1:A" & LastRow)
For Each cell In rRng.Cells
cell.Offset(0, 3).Value = "A quantity of " & cell.Value & " must be consumed by " & cell.Offset(0, 1).Value & " product will be " & cell.Offset(0, 2).Value
Next
End Sub
编辑 既然您提到了一个新行字符,我假设您出于某种原因希望所有文本都在一个单元格中。试试这个:
Sub Macro1()
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Dim rRng As Range
Set rRng = Range("A1:A" & LastRow)
Dim result As Range
Set result = Range("D1")
result.Value = ""
For Each cell In rRng.Cells
result.Value = Range("D1").Value & "A quantity of " & cell.Value & " must be consumed by " & cell.Offset(0, 1).Value & " product will be " & cell.Offset(0, 2).Value & Chr(10)
Next
End Sub
现在的结果如下所示:
请参见编辑,以将文本放置到带有回车符的单元格中。