Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


17281 / 76738 ←次へ | 前へ→

【64913】Re:コンボボックスだけで、Vlookup関数を使わずに連動させたい
質問  初心者です  - 10/3/26(金) 16:21 -

引用なし
パスワード
   Hirofumiさま、
本当に、どうもありがとうございます。

>「受注伝票」シートのB17から転記入力されるようにしたいのですが、
>どうしたらいいでしょうか?

この件、「受注伝票」シートB列のB35に「合計(税抜き)」、B36に「明細件数」が入っていましたので、それを、別の列に入れたところ、B17から転記入力されるようになりました。
お騒がせ致しました。

>また、新たに選択するたびに、一段下の行に、追加で転記されていくのですが、これは、同じ行で、内容を訂正するようになりますでしょうか?

そして、この件なのですが、ご教示頂きましたコードを用いまして、無事、17行目に転記入力することはできました、ありがとうございます。

ただ、本当は、A列の明細番号は1〜18までありまして、17行目から34行目までが、納品書の明細入力欄でして、B17に一つ、コンボボックスを配置して、17行目に転記入力、B18に一つ、コンボボックスを配置して、18行目に転記入力、というように、18個のコンボボックスで、17行目から34行目まで、それぞれのコンボボックスを使用して、1行ずつ、転記入力できるようにしたいのです。

それをとりあえず、17行目と18行目にもコンボボックスを作って、やってみたのですが、以下のエラーが出てしまいました。
「コンパイルエラー:
End Sub、End Function または End Property以降には、コメントのみが記述できます。」
そして、一番先頭のこの部分が、
Private Sub cbo商品一覧1_Change()
黄色く表示されます。
コンボボックスの名前は、cbo商品一覧1と、cbo商品一覧2としました。
以下が、コードになります。


Option Explicit

'コンボボックスから選ぶだけで、Vlookup関数を使わずに、商品一覧から、連動して入力する...cbo商品一覧1

Private Sub cbo商品一覧1_Change()

  Dim lngRowEnd As Long
  Dim lngRow As Long

  'cbo商品一覧1のListIndexを取得
  lngRow = cbo商品一覧1.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

  '常に17行目に転記
  lngRowEnd = 17

  '転記元行位置を取得
  '※ComboBoxのListIndexが転記元Listの先頭行からの行Offsetを示す
  '※因って、ListIndexに転記元Listの先頭行行位置を加算すれば転記Listの行が解る
  'ListFillRangeが例えば「Sheet2!A5:J7」ならA5の5
  lngRow = cbo商品一覧1.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

Option Explicit

'コンボボックスから選ぶだけで、Vlookup関数を使わずに、商品一覧から、連動して入力する...cbo商品一覧2

Private Sub cbo商品一覧2_Change()

  Dim lngRowEnd As Long
  Dim lngRow As Long

  'cbo商品一覧2のListIndexを取得
  lngRow = cbo商品一覧2.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

  '常に17行目に転記
  lngRowEnd = 18

  '転記元行位置を取得
  '※ComboBoxのListIndexが転記元Listの先頭行からの行Offsetを示す
  '※因って、ListIndexに転記元Listの先頭行行位置を加算すれば転記Listの行が解る
  'ListFillRangeが例えば「Sheet2!A5:J7」ならA5の5
  lngRow = cbo商品一覧2.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


再三、お手数をおかけしておりますが、何卒、よろしくお願いいたします。

0 hits

【64478】コンボボックスだけで、Vlookup関数を使わずに連動させたい 初心者です 10/2/13(土) 16:10 質問
【64479】Re:コンボボックスだけで、Vlookup関数を使... Hirofumi 10/2/13(土) 19:06 発言
【64481】Re:コンボボックスだけで、Vlookup関数を使... Hirofumi 10/2/14(日) 8:46 発言
【64480】Re:コンボボックスだけで、Vlookup関数を使... UO3 10/2/13(土) 23:27 回答
【64490】Re:コンボボックスだけで、Vlookup関数を使... 初心者です 10/2/15(月) 14:28 質問
【64492】Re:コンボボックスだけで、Vlookup関数を使... UO3 10/2/15(月) 15:13 発言
【64499】Re:コンボボックスだけで、Vlookup関数を使... 初心者です 10/2/15(月) 16:29 質問
【64500】Re:コンボボックスだけで、Vlookup関数を使... UO3 10/2/15(月) 16:41 回答
【64503】Re:コンボボックスだけで、Vlookup関数を使... 初心者です 10/2/15(月) 17:43 質問
【64504】Re:コンボボックスだけで、Vlookup関数を使... UO3 10/2/15(月) 18:09 発言
【64880】Re:コンボボックスだけで、Vlookup関数を使... 初心者です 10/3/24(水) 13:42 質問
【64501】Re:コンボボックスだけで、Vlookup関数を使... Hirofumi 10/2/15(月) 17:13 回答
【64502】Re:コンボボックスだけで、Vlookup関数を使... Hirofumi 10/2/15(月) 17:21 発言
【64881】Re:コンボボックスだけで、Vlookup関数を使... 初心者です 10/3/24(水) 13:43 質問
【64883】Re:コンボボックスだけで、Vlookup関数を使... Hirofumi 10/3/24(水) 15:16 回答
【64885】Re:コンボボックスだけで、Vlookup関数を使... 初心者です 10/3/24(水) 16:45 質問
【64887】Re:コンボボックスだけで、Vlookup関数を使... Hirofumi 10/3/24(水) 18:28 回答
【64895】Re:コンボボックスだけで、Vlookup関数を使... 初心者です 10/3/25(木) 15:06 質問
【64900】Re:コンボボックスだけで、Vlookup関数を使... Hirofumi 10/3/25(木) 20:23 回答
【64913】Re:コンボボックスだけで、Vlookup関数を使... 初心者です 10/3/26(金) 16:21 質問
【64917】Re:コンボボックスだけで、Vlookup関数を使... Hirofumi 10/3/26(金) 17:31 回答
【64952】Re:コンボボックスだけで、Vlookup関数を使... 初心者です 10/3/29(月) 14:54 お礼

17281 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free