我正在尝试为我的代码找到解决方案,首先向用户询问玩家的名字,然后宏在我的数据库中搜索名称。如果名称在那里,那么宏会询问玩家的目标数量。然后写入inputBox的目标数量将添加到玩家的信息中。
我的问题是宏没有为已搜索的玩家添加目标数。它会增加目标数量并替换球员名称
这是我现在的代码:
Sub maalit()
Dim ws As Worksheet
Dim lRow As Long
Dim strSearch As String
Set ws = Worksheets("Data")
Dim etsi As String
etsi = InputBox("Etsi Jäsen", "maalien lisääminen") 'asks the players name
If Trim(etsi) <> "" Then
With Sheets("Data").Range("A:A")
Set Rng = .Find(What:=etsi, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
tulos = InputBox("Anna pelaajan maalienmäärä", "maalien lisääminen")
Rng.Value = tulos 'asks the number of goals but this is the problem place the bacause it adds them to the wrong column i want them to be in column G
Else
MsgBox "Jäsentä ei löytynyt"
End If
End With
End If
End Sub
答案 0 :(得分:0)
您应该使用偏移,所以请替换:
Rng.Value = tulos
人:
Rng.Offset(, 6).Value = tulos
答案 1 :(得分:0)
您可以使用OFFSET
,例如:
将Rng.Value = tulos
更改为Rng.Offset(0, 1).Value = tulos
,将输入1列向右移动。只需将1更改为需要跳转的列,以便最终在G列中结束。
或者,您可以构建一个新范围:
将Rng.Value = tulos
更改为Range("G" & rng.Row).Value = tulos