2016-03-22 25 views
0

以下のヘルプが必要です。空白の値がある場合の自動入力

enter image description here

私は、最初の列にしたい:別の値が検出されるまで、AUTOに残った空白を埋めます。例:TXAADGLIが見つかるまでRMDSADMNは自動入力されますが、TXAADMまで自動入力されると空白が1つあるため一度入力されます。

私は手動で各値の名前を挿入する必要があった入力ボックスを追加しようとしましたが、私は値を自動的にチェックするものを挿入しません。

答えて

2

てみてください、

with activesheet 
    with .cells(1,1).currentregion 
     .specialcells(xlcelltypeblanks).formular1c1 = "=r[-1]c" 
     .value = value 
    end with 
end with 
+0

良い例=) –

+0

私はマイナーなタイプミスがあると思います: '{'の代わりに '' '。それ以外にも、Jeepedによって提供されたすばらしい高速ソリューションです。 – Ralph

+0

ありがとう@ラルフ!私は頭の上からそれを書きました、そして、私の目はまだクリアされていないようです。いいキャッチ! – Jeeped

0

はこれを試してみてください:

Sub test() 

Dim lRow As Integer 
Dim i As Integer 

lRow = Cells(Rows.Count, 5).End(xlUp).Row 

With ThisWorkbook.ActiveSheet 

For i = 1 To lRow 

If .Cells(i, 1).Value = "" Then 

.Cells(i, 1).Value = .Cells(i - 1, 1).Value 

End If 

Next i 

End With 

End Sub 
0

はVBAなしで容易に実現することができます:

RMDSADMINから選択し、最後の空白(同じ列)の後の最初の行に何かを入力します。その何か、=アップCtrl + を入力してください。次のコードは助けることができる

0

は、このサブをクリックすることによって活性化されるExcel - VBA fill in cells between 1st and Last value

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    Dim i As Long 
    For i = 2 To Target.Column 
     If Cells(Target.Row, i) = "" Then 
      If Cells(Target.Row, i - 1) <> "" Then 
       Range(Cells(Target.Row, i), Cells(Target.Row, i)).Value = Range(Cells(Target.Row, i - 1), Cells(Target.Row, i - 1)).Value 
      End If 
     End If 
    Next i 
End Sub 

質問で述べたように、あなたが第一と第一のセルの値に応じて、最後のセル間の以前の値を自動入力する必要があります任意の細胞。 同じセルはループの最後をマークします。つまり、ループを停止するには、空のセルを塗りつぶすまでセルをクリックします。

更新:これは他の方法でも同様に行うことができますが、この質問で尋ねられます。

関連する問題