2017-02-05 15 views
1

ユーザーフォームを作成しようとしていて、次のセルの色を変更したい。私は文字列を使用するたびに動作しますが、セルの内部を変更しようとするたびに、1行下に行くのではなく、同じ行にとどまります。 色の部分がなくても実行すると、すべてがうまく動作し、文字列が必要なたびに次の行に移動します。しかし、私はセルの色の内部部品を挿入するとき、それは1つ下がることはありません。 チェックボックスをオンにすると、行の最初の列が緑色になり、チェックされていない場合は赤色になります。ここでExcelのVBAユーザーフォーム設定セルの内部が次の行に移動しない

はコードです:

Private Sub btnEnter_Click() 
Dim ssheet As Worksheet 

If Me.tbTitle.Value = "" Or Me.tbDate.Value = "" Or Me.cmbGenre = "" Or Me.tbKeywords = "" Or Me.tbDirector = "" Or Me.tbCast = "" Then 
    If MsgBox("Not all forms are completed. Do you want to continue?", vbQuestion + vbYesNo) <> vbYes Then 
    Exit Sub 
    End If 
End If 

Set ssheet = ThisWorkbook.Sheets("MovieList") 

nr = ssheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 

If CheckBox1.Value = True Then 
    ssheet.Cells(nr, 1).Interior.ColorIndex = 4 
    Else: ssheet.Cells(nr, 1).Interior.ColorIndex = 3 
End If 

ssheet.Cells(nr, 2) = Me.tbTitle 
ssheet.Cells(nr, 3) = Me.tbDate 
ssheet.Cells(nr, 4) = Me.cmbGenre 
ssheet.Cells(nr, 5) = Me.tbKeywords 
ssheet.Cells(nr, 6) = Me.tbDirector 
ssheet.Cells(nr, 7) = Me.tbCast 
ssheet.Cells(nr, 8) = Me.tbComments 

Call resetForm 

End Sub 

Sub resetForm() 

Me.tbTitle = "" 
Me.tbDate = "" 
Me.cmbGenre = "" 
Me.tbKeywords = "" 
Me.tbDirector = "" 
Me.tbCast = "" 
Me.tbComments = "" 
Me.tbTitle.SetFocus 

End Sub 

Private Sub CheckBox1_Click() 

End Sub 

Private Sub UserForm_Initialize() 

'fill combobox 
For Each cell In [ListGenre] 
    Me.cmbGenre.AddItem 
Next cell 


End Sub 

私はあなたが私を助けることができればとても喜んでいるだろう。ありがとうございました。

+0

例を投稿 – user3598756

+0

あなたは何も見えません。それがポイントです。私は色のものを統合するときに追加された文字列は下に移動しません。 –

+0

_ _ "追加された文字列" _は取得されて追加されますか? – user3598756

答えて

0

上記のコードを正しく理解していれば、空のセルに問題があります。

1列に文字列がない場合は、いくつか追加する必要がありますが、空のセルがあり、同時に着色されている場合は、このようにすることができます。

[OK]を、あなたのコードのこの2つの部分の間:

If CheckBox1.Value = True Then 
    ssheet.Cells(nr, 1).Interior.ColorIndex = 4 
    Else: ssheet.Cells(nr, 1).Interior.ColorIndex = 3 
End If 

と、この1:

あなたはこの行を配置する必要があり
ssheet.Cells(nr, 2) = Me.tbTitle 
ssheet.Cells(nr, 3) = Me.tbDate 
ssheet.Cells(nr, 4) = Me.cmbGenre 
ssheet.Cells(nr, 5) = Me.tbKeywords 
ssheet.Cells(nr, 6) = Me.tbDirector 
ssheet.Cells(nr, 7) = Me.tbCast 
ssheet.Cells(nr, 8) = Me.tbComments 

ssheet.Cells(nr, 1) = " " 

あなたが買ってあげますあなたが欲しいもの!

関連する問題