|
>「受注伝票」シートのB17から転記入力されるようにしたいのですが、
>どうしたらいいでしょうか?
>また、新たに選択するたびに、一段下の行に、追加で転記されていくのですが、これは、同じ行で、内容を訂正するようになりますでしょうか?
>
>大変お手数をおかけしておりますが、何卒、再度のご教示をよろしくお願い致します。
如何言う事なのか、今一解らないのですが?
B17行に常に転記する場合は
'常に17行目に転記
lngRowEnd = 17
を活かして下さい
また、ListBoxを選択するたびに、B17以降の最終行の下に転記する場合は以下を活かして下さい
'B17以降の最終行位置を取得(B列をB35から上にデータの在る位置を取得)
lngRowEnd = Me.Cells(35, "B").End(xlUp).Row
If IsEmpty(Me.Cells(lngRowEnd, "B")) Then
lngRowEnd = 17
Else
lngRowEnd = lngRowEnd + 1
End If
Option Explicit
Private Sub cbo商品一覧_Change()
Dim lngRowEnd As Long
Dim lngRow As Long
'cbo商品一覧のListIndexを取得
lngRow = cbo商品一覧.ListIndex
'ComboBoxで選択されていない場合
If lngRow = -1 Then
Exit Sub
End If
'最終行位置を取得(B列を最下行から上にデータの在る位置を取得)
' lngRowEnd = Me.Cells(Rows.Count, "B").End(xlUp).Row
' If IsEmpty(Me.Cells(lngRowEnd, "B")) Then
' lngRowEnd = 1
' Else
' lngRowEnd = lngRowEnd + 1
' End If
'B17以降の最終行位置を取得(B列をB35から上にデータの在る位置を取得)
lngRowEnd = Me.Cells(35, "B").End(xlUp).Row
If IsEmpty(Me.Cells(lngRowEnd, "B")) Then
lngRowEnd = 17
Else
lngRowEnd = lngRowEnd + 1
End If
'常に17行目に転記
' lngRowEnd = 17
'転記元行位置を取得
'※ComboBoxのListIndexが転記元Listの先頭行からの行Offsetを示す
'※因って、ListIndexに転記元Listの先頭行行位置を加算すれば転記Listの行が解る
'ListFillRangeが例えば「Sheet2!A5:J7」ならA5の5
lngRow = cbo商品一覧.ListIndex + 5
'転記(値の場合)
With Worksheets("MT_商品")
Me.Cells(lngRowEnd, "B").Value = .Cells(lngRow, "A").Value
Me.Cells(lngRowEnd, "C").Value = .Cells(lngRow, "B").Value
Me.Cells(lngRowEnd, "D").Value = .Cells(lngRow, "C").Value
Me.Cells(lngRowEnd, "E").Value = .Cells(lngRow, "D").Value
Me.Cells(lngRowEnd, "F").Value = .Cells(lngRow, "E").Value
Me.Cells(lngRowEnd, "H").Value = .Cells(lngRow, "F").Value
Me.Cells(lngRowEnd, "J").Value = .Cells(lngRow, "G").Value
Me.Cells(lngRowEnd, "K").Value = .Cells(lngRow, "H").Value
Me.Cells(lngRowEnd, "P").Value = .Cells(lngRow, "I").Value
Me.Cells(lngRowEnd, "Q").Value = .Cells(lngRow, "J").Value
End With
End Sub
|
|