|
▼初心者です さん:
>>すみません、意味が分かりません・・・。
う〜ん、困りましたねぇ。
まず、B17とかC17といってらっしゃるのが、ちょっと心配。
私が仕様を理解しきっていないということでしょうか・・・・
ComboBoxで何かを選ぶ、それがSheet1に、どんどん追加されていく
そんなふうに理解したんですが・・・
まぁ、何はともあれ、その理解でのコードを以下にアップします。
動かして、ご希望のイメージと異なれば、また直しましょう。
・Sheet1、Sheet2 ともに1行目がタイトル行とします。
・項目はA列からQ列までとします。
・シート上に配置されたComboBoxはComboBox90だとします。
・ComboBoxで選んだデータがSheet1の末尾に追加されていくものとします。
以上の前提で
【シートモジュール】
ComboBoxを貼り付けてあるシートのシートモジュールに以下。
Option Explicit
Private Sub ComboBox90_Change()
Dim ck
Dim Tbl As Range
Dim target As Range
Dim lastrow As Long
Dim selnum As Long
selnum = ComboBox1.ListIndex + 2
With Worksheets("Sheet1")
lastrow = .Cells(Rows.Count, 1).End(xlUp).Row
Set target = .Cells(lastrow + 1, 1)
End With
With Worksheets("Sheet2")
Set Tbl = .Range("A2").Resize(.Cells(Rows.Count, 1).End(xlUp).Row - 1)
target = .Cells(selnum, 1).Value
End With
ck = Application.Match(target.Value, Tbl, 0)
If VarType(ck) <> vbError Then
target.Offset(0, 1).Resize(1, 16).Value = _
Worksheets("Sheet2").Cells(ck + 1, 2).Resize(1, 16).Value
Else
target.Offset(0, 1).Resize(1, 16).Value = ""
End If
End Sub
|
|