希望这很简单。在此For循环中,我希望VBA读取字符串“ Foot Strike”的第一个范围(LeftStrike),然后分配值“ 1”,并将该分配的值放入偏移单元格中。然后,我希望它向分配的值加1并再次运行For循环,以查找下一个“ Foot Strike”字符串。这样,我可以看到“ First”踩脚位于哪一行,依此类推。我真的很难理解一件事的.value =另一件事的.value以便可以“复制并粘贴”。
Private Sub CommandButton2_Click()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim ws2 As Worksheet: Set ws2 = ThisWorkbook.Sheets("Sheet2")
Dim LeftStrike As Range, FrameLTD As Range, StepNum As Range
Dim lrL As Long, LastFrame As Long
Dim StepCount As Long
StepCount = 1
lrL = ws.Range("H" & ws.Rows.Count).End(xlUp).Row
LastFrame = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
Set LeftStrike = ws.Range("H2:H" & lrL)
Set StepNum = ws.Range("J2:J" & lrL)
For Each FrameLTD In LeftStrike
If InStr(FrameLTD, "Foot Strike") Then
' assign value of "1" to StepCount
' somehow get StepCount to = FrameLTD.Offset(0, 3).Value
' StepCount = StepCount + 1
End If
Next FrameLTD
MsgBox "Steps Numbered"
End Sub
[有人可以告诉我我的代码行应该在For循环内,以便将我的“步数”添加到offset列中吗???
代码:
Option Explicit
Private Sub CommandButton2_Click()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim ws2 As Worksheet: Set ws2 = ThisWorkbook.Sheets("Sheet2")
Dim LeftStrike As Range, FrameLTD As Range, StepNum As Range
Dim lrL As Long, LastFrame As Long
Dim StepCount As Long
StepCount = 1
lrL = ws.Range("H" & ws.Rows.Count).End(xlUp).Row
LastFrame = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
Set LeftStrike = ws.Range("H2:H" & lrL)
Set StepNum = ws.Range("J2:J" & lrL)
For Each FrameLTD In LeftStrike
If InStr(FrameLTD, "Foot Strike") Then
'assign value of "1" to StepCount
'somehow get StepCount to = FrameLTD.Offset(0, 3).Value
FrameLTD.Offset(0, 3).Value = StepCount
StepCount = StepCount + 1
End If
Next FrameLTD
MsgBox "Steps Numbered"
End Sub
结果: