2016-05-11 10 views
0

私は自分のコードのための解決策を見つけようとしています。最初にプレイヤーの名前を尋ねられてから、データベースの名前がマクロで検索されます。名前があれば、マクロはプレーヤーが何回多くのゴールを決めたかを尋ねます。次に、inputBoxに書き込まれたゴール数がプレーヤーの情報に追加されます。正しい場所に情報を追加するためのVBAコード

私の問題は、マクロが検索されたプレーヤーのゴール数を追加しないということです。これは、目標の数を追加し、プレイヤーはここで

が今の私のコードされている名前が置き換えられますので、交換してください

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


変更Rng.Value = tulos:ちょうどあなたが別の列Gに

を終了するためにホップする必要があるが、多くの列に1を変更するには、新しい範囲を構築することができますあなたは[macros]タグを使用しようとしました。 "MS-OFFICE/VBA /マクロ言語ではなく、それぞれのタグを代わりに使用してください。*"今後のExcel/VBAマクロに関する質問では、[マクロ]タグ;代わりに[excel-vba]のようなタグを使うべきです。 –

答えて

0

OFFSETを使用できます。たとえば、
Rng.Value = tulosRng.Offset(0, 1).Value = tulosを入力1の列を右に移動します。この質問とあなたの前のもののためにRange("G" & rng.Row).Value = tulos

0

あなたはオフセット使用する必要があります。

Rng.Value = tulos 

で:

Rng.Offset(, 6).Value = tulos

+0

感謝します!オフセットはちょうど私がしたい方法で働いた! – vbacoder1

関連する問題