【问题标题】:Get the value of a cell in range, store it a variable, then next cell, next row (Excel)获取范围内单元格的值,将其存储为变量,然后是下一个单元格,下一行(Excel)
【发布时间】:2016-02-10 14:44:35
【问题描述】:

我想获取某个范围内单元格的值并将其存储为变量。然后将另一个范围内另一个单元格的值设置为该变量。然后继续前往牢房。捕获该行中的所有单元格后,我想移动到下一行并从第一个单元格和第一个变量重新开始。我不知道如何移动到下一个单元格,然后将新范围中的值设置为变量。这是我到目前为止得到的结果

Dim rng As Range
Dim row As Range
Dim cell As Range
Dim card1 As String
Dim card2 As String
Dim card3 As String
Dim card4 As String
Dim card5 As String
Dim valueRng As Range

Set rng = Range("A2:D4")
Set valueRng = ("F2:I4")


For Each row In rng.Rows
 For Each cell In row.Cells
 card1 = cell.Value
 'Set first variable
 'Code here for setting value of for first cell in valueRng

'Move to second cell
'get value
'set variable card2
'Set value of second cell in valueRng

Next cell  
Next row

【问题讨论】:

  • 你知道你可以简单; Range("F2:I4").Value = Range("A2:D4").Value
  • 但我希望 a 变量更改第二个范围的值。我会给第一个范围的值一个“分数”,然后将分数放在第二个范围内。我只是想在进行计算之前关注这个问题

标签: vba excel row


【解决方案1】:

使用行和列计数器代替For each

Dim rng As Range
Dim row As Range
Dim cell As Range
Dim card1 As String
Dim card2 As String
Dim card3 As String
Dim card4 As String
Dim card5 As String
Dim valueRng As Range
Dim x as long
Dim y as long

Set rng = Range("A2:D4")
Set valueRng = Range("F2:I4")


For x = 1 to rng.Rows.Count
   for y = 1 to rng.Columns.Count

 card1 = rng.cells(x, y).Value
 'Set first variable
 'Code here for setting value of for first cell in valueRng
 valueRng.Cells(x, y).Value = card1

Next y  
Next x

请注意,当一个数组的大小和形状相同时,有更简单的方法可以从另一个数组中填充它们。

【讨论】:

  • 谢谢。另外,我的代码不正确,应该是'Set valueRng = Range("F2:I4")'。正如我向@Scott 提到的,关于填充相同大小和形状的数组的更简单方法,我想为该值分配一个分数,然后将分数放在第二个范围内。我只是想在进行计算之前关注这个问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 2016-11-28
相关资源
最近更新 更多