Excel VBA質問箱 IV

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

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


2980 / 13646 ツリー ←次へ | 前へ→

【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 お礼[未読]

【64478】コンボボックスだけで、Vlookup関数を使...
質問  初心者です  - 10/2/13(土) 16:10 -

引用なし
パスワード
   エクセルで納品書を作成する本を見て、納品書を作成している、VBA初心者です。
いつも、ここの方々に、大変お世話になっております、どうもありがとうございます。
ActiveXコントロールのコンボボックスについてなのですが、コンボボックスを作って、Sheet2の表の中から選んで、Sheet1の1つのセルに、1つだけリスト入力するのは出来るのですが、1つ選んだら、芋づる式に他のセルにも、Sheet2の情報を入力したいのですが、Vlookup関数を使わずにできますでしょうか?
たとえば、Sheet1のA1に、コンボボックスを使って、0001を選んだら、B1にはTシャツ、C1には赤と、連動して入力されるようにしたいです。
リストに無い場合は、手入力する為、Sheet1のB列、C列には、Vlookup関数の式を入れずに空白にしておきたいのです。

Sheet1
       A     B     C
    1  0001           
    2 
    3 

Sheet2
       A     B     C
    1   0001   Tシャツ    赤
    2   0002   マウス    黒
    3   0003   色鉛筆    7色


ご教示を、何卒、よろしくお願いします。

【64479】Re:コンボボックスだけで、Vlookup関数を...
発言  Hirofumi  - 10/2/13(土) 19:06 -

引用なし
パスワード
   多分出来ると思いますよ?
Sheet1に001を代入するコードをUpすれば回答が得やすく成ると思います
ただ、ComboBox何処にある物か(UserFormなのか?、Sheetに張り付けて有る物なのか?)を
書かないと、コードが違います
また、ComboBoxの中のListも1列なのか、複数列なのかも書いた方が善いと思います

【64480】Re:コンボボックスだけで、Vlookup関数を...
回答  UO3  - 10/2/13(土) 23:27 -

引用なし
パスワード
   ▼初心者です さん:

こんばんは。

以下でいかがでしょうか。

【標準モジュールに】

Option Explicit
Dim Tbl As Range

Sub Auto_Open()
  With Worksheets("Sheet2")
   Set Tbl = .Range("A1").Resize(.Cells(Rows.Count, 1).End(xlUp).Row)
  End With
End Sub

Sub Decode(Target As Range)
Dim ck

  ck = Application.Match(Target.Value, Tbl, 0)
  If VarType(ck) <> vbError Then
   Target.Offset(0, 1).Resize(1, 2).Value = Worksheets("Sheet2").Cells(ck, 2).Resize(1, 2).Value
  Else
  Target.Offset(0, 1).Resize(1, 2).Value = ""
  End If
  
End Sub

【Sheet1のシートモジュールに】

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 Then
    Application.EnableEvents = False
    Call Decode(Target)
    Application.EnableEvents = True
  End If
End Sub

【64481】Re:コンボボックスだけで、Vlookup関数を...
発言  Hirofumi  - 10/2/14(日) 8:46 -

引用なし
パスワード
   例えば、Sheet1にComboBoxが有り、Sheet2のA1からListが在る場合

Sheet1のコードモジュールに

Option Explicit


Private Sub ComboBox1_Change()

  Dim lngRowEnd As Long
  Dim lngRow As Long
  
  If ComboBox1.ListIndex = -1 Then
    Exit Sub
  End If
  
  '最終行位置を取得
  lngRowEnd = Me.Cells(Rows.Count, 1).End(xlUp).Row
  If IsEmpty(Me.Cells(lngRowEnd, 1)) Then
    lngRowEnd = 1
  Else
    lngRowEnd = lngRowEnd + 1
  End If
  
  '転記元行位置を取得
  '※ComboBoxのListIndexが転記元Listの先頭行からの行Offsetを示す
  '※因って、ListIndexに転記元Listの先頭行行位置を加算すれば転記Listの行が解る
  lngRow = ComboBox1.ListIndex + 1
  
  '転記(値の場合)
  With Worksheets("Sheet2")
    Me.Cells(lngRowEnd, 1).Value = .Cells(lngRow, 1)
    Me.Cells(lngRowEnd, 2).Value = .Cells(lngRow, 2)
    Me.Cells(lngRowEnd, 3).Value = .Cells(lngRow, 3)
  End With
  
  '転記(Copyの場合)
'  Worksheets("Sheet2").Cells(lngRow, 1).Resize(, 3).Copy _
        Destination:=Me.Cells(lngRowEnd, 1)
  
End Sub

Private Sub Worksheet_Activate()

  'Sheet1のComboBoxにSheet2の先頭列をListとして設定
  Worksheets("Sheet1").ComboBox1.List _
    = Worksheets("Sheet2").UsedRange.Resize(, 1).Value

End Sub

【64490】Re:コンボボックスだけで、Vlookup関数を...
質問  初心者です  - 10/2/15(月) 14:28 -

引用なし
パスワード
   Hirofumiさま、UO3さま、
ご回答をありがとうございました。
当方の理解力が足りず、ご回答を見ても、まったく分かりませんでした。
本当に申し訳ありません。
もう一度、具体的に、何をやりたいのか説明させて頂きます。

まず、Howto本には、ActiveXコントロールのコンボボックスをクリックして、右の▼だけ残して配置し、デザインモードで、プロパティウィンドウの中の、Name、BoundColumn、CloumnCount、ColomnWidth、LinkedCell、ListFillRange、ListWidthなどを設定してリスト入力する、というやり方が載っていますが、それでは、1つのセルだけしか入力できません。
また、そうやって設定したものを、▼ボタンを右クリックして、「コードの表示」を選択しても、

Private Sub ComboBox90_Change()

End Sub

と表示されるだけで、中のコードが表示されないので、コードが分からず、苦戦しています。

実際には、Sheet1のB17のセルを、コンボボックスのプルダウンから1つ選んで入力したら、芋づる式にC〜Qのセルにも、Sheet2の情報を入力したいのですが、Vlookup関数を使わずにできますでしょうか?
「」の部分は、手入力の部分で、空白です。
ですので、実際は、Sheet2のように、連続して並んでいません。

Sheet1
    A    B    C    D    E    F    G    H    I    J    K    L    M    N    O    P    Q
16    明細番号    品  名    規格    規格単位    入数    入数単位    箱数    箱数単位    数量    数量単位    単価    金額    備考    仕入れ品名    仕入れ数量    仕入れ単位    原単価
17    1    スノードロップ-1    9    cm    28    ポット    「」    トレー    「」    ポット    180    「」    「」    「」    「」    ポット    67.48
18    2
                                                                 
                                
Sheet2                            
    A    B    C    D    E    F    G    H    I    J                            
4    品  名    規格    規格単位    入数    入数単位    箱数単位    数量単位    単価    仕入れ単位    原単価                            
5    スノードロップ-1    9    cm    28    ポット    トレー    ポット    180    ポット    67.48                            
6    スノードロップ-2    9    cm    28    ポット    トレー    ポット    185    ポット    67.48                            
7    スノードロップ-3    9    cm    28    ポット    トレー    ポット    190    ポット    67.48                            

お手数ですが、今一度、ご説明頂けますよう、よろしくお願いいたします。

【64492】Re:コンボボックスだけで、Vlookup関数を...
発言  UO3  - 10/2/15(月) 15:13 -

引用なし
パスワード
   ▼初心者です さん:

こんにちは。
質問をよく読まなかったので、コンボボックスから選んだものを
シートに移すことまでは、できているんだと思ってました。
それと、列がずいぶん増えていますね。

コンボボックスで選んだものをシートに移す際には
たとえばシートに3行目まで入っていれば4行目に追加するという
イメージでいいですか?

これから会議に入りますので、しばらくお待ちください。
その間にhirofumiさんから正解がアップされるかもしれませんね。

【64499】Re:コンボボックスだけで、Vlookup関数を...
質問  初心者です  - 10/2/15(月) 16:29 -

引用なし
パスワード
   UO3さま、
早速のご返信、ありがとうございます。

>コンボボックスから選んだものを
>シートに移すことまでは、できているんだと思ってました。
すみません、「シートに移す」というのは、「Sheet1のB17のセルに、Sheet2のA列の品名の中から、プルダウンで1つ選んで入力する」コンボボックスを作成できるかどうか、という事でしょうか?
品名だけなら、コンボボックスのプロパティウインドウを設定すればできると思います。
やったほうがいいのでしょうか?
裏側のコードの出し方が分からないのですが、表示方法がありますか?

>コンボボックスで選んだものをシートに移す際には
>たとえばシートに3行目まで入っていれば4行目に追加するという
>イメージでいいですか?
すみません、意味が分かりません・・・。
Sheet1のB17のセルに、Sheet2のA列「品名」から選んで、Sheet1のC17のセルには、Sheet2のB列「規格」の中から、B17で選んだ品名と同じ行のものを、自動で表示したいのですが、全部でなくていいので、その「品名」「規格」の2つが連動していれば、どうやるのか分かる、とっかかりになると思うのですが、すみません、よろしくお願いいたします。

【64500】Re:コンボボックスだけで、Vlookup関数を...
回答  UO3  - 10/2/15(月) 16:41 -

引用なし
パスワード
   ▼初心者です さん:

>>すみません、意味が分かりません・・・。
う〜ん、困りましたねぇ。
まず、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

【64501】Re:コンボボックスだけで、Vlookup関数を...
回答  Hirofumi  - 10/2/15(月) 17:13 -

引用なし
パスワード
   こんなので善いと思いますが?

多分、LinkedCellがB17に成っているのを消して下さい

Option Explicit

Private Sub ComboBox1_Change()

  Dim lngRowEnd As Long
  Dim lngRow As Long
  
  'ComboBox1のListIndexを取得
  lngRow = ComboBox1.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
  
  '転記元行位置を取得
  '※ComboBoxのListIndexが転記元Listの先頭行からの行Offsetを示す
  '※因って、ListIndexに転記元Listの先頭行行位置を加算すれば転記Listの行が解る
  'ListFillRangeが例えば「Sheet2!A5:J7」ならA5の5
  lngRow = ComboBox1.ListIndex + 5
  
  '転記(値の場合)
  With Worksheets("Sheet2")
    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

【64502】Re:コンボボックスだけで、Vlookup関数を...
発言  Hirofumi  - 10/2/15(月) 17:21 -

引用なし
パスワード
   書き忘れましたが
元々のやり方(本に出ている)は、ComboBoxのBoundColumnプロパティで指定した列を
LinkedCellプロパティを使って、直接セルに値を落としています
(コードモジュールにコードを記述しないで)
因って、LinkedCellプロパティを使わないで処理します
尚、LinkedCellプロパティは使わないのでデザイン画面で
LinkedCellプロパティの値を消去して下さい

【64503】Re:コンボボックスだけで、Vlookup関数を...
質問  初心者です  - 10/2/15(月) 17:43 -

引用なし
パスワード
   UO3さま、
ありがとうございます。

Sheet2の1行目をタイトル行として、対応する商品や規格などを2行目以下に入れ、
Sheet1の1行目も、Sheet2とまったく同じタイトル行として、Sheet1のA2にコンボボックス▼を作って貼り付け、LinkedCellをA2にして、オブジェクト名をComboBox90にし、デザインモードで、ダブルクリックすると表示されたBook1-Sheet1(コード)に、お教え頂いたものをそのまま貼り付けたのですが、▼をクリックすると、空白が表示されます・・・。
何が、悪いのでしょうか???

何卒、よろしくお願いします。

【64504】Re:コンボボックスだけで、Vlookup関数を...
発言  UO3  - 10/2/15(月) 18:09 -

引用なし
パスワード
   ▼初心者です さん:
>UO3さま、

hirofumiさんも指摘しておられますがLinkedCellは使いませんので
プロパティの値を消しておいてください。
▼で空白ということですが、もともと、ここでリスト表示されていたんでは
なかったんですか?なので、それを選んだ後のコードをアップしました。
最初にこのトピをアップされたときのComboBoxのListFIllRangeには
何を登録されていましたか?そして、今は、それが変更になっているんですか?

【64880】Re:コンボボックスだけで、Vlookup関数を...
質問  初心者です  - 10/3/24(水) 13:42 -

引用なし
パスワード
   UO3さま、
ご回答、本当にどうも、ありがとうございました。
出張続きで、あれ以来取り組めず、返信が遅くなりまして、本当に申し訳ございませんでした。
以下のように、記載しまして、無事に、動きましたが、MT_商品シートは、連続しているのですが、受注伝票シートの項目は、連続していない為、違う箇所に入力されてしましました。
MT_商品シートのA列を、受注伝票シートのB列に、MT_商品シートのB列を、受注伝票シートのF列に、というようにするには、どうしたらいいでしょうか?
また、選択をし直すと、新たに選択したものが、先に選択し入力したものの、下の行に入力され、どんどん、行が増えるのですが、これを、同じ行で入力訂正するには、どのようにしたらよろしいですか?
お手数をおかけしますが、何卒、ご教示をよろしくお願い致します。

Option Explicit

Private Sub cbo商品一覧_Change()
Dim ck
Dim Tbl As Range
Dim target As Range
Dim lastrow As Long
Dim selnum As Long

  selnum = cbo商品一覧.ListIndex + 2

  With Worksheets("受注伝票")
   lastrow = .Cells(Rows.Count, 1).End(xlUp).Row
   Set target = .Cells(lastrow + 1, 1)
  End With

  With Worksheets("MT_商品")
   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("MT_商品").Cells(ck + 1, 2).Resize(1, 16).Value
  Else
  target.Offset(0, 1).Resize(1, 16).Value = ""
  End If
 
End Sub

【64881】Re:コンボボックスだけで、Vlookup関数を...
質問  初心者です  - 10/3/24(水) 13:43 -

引用なし
パスワード
   Hirofumiさま、
ご回答、本当にどうも、ありがとうございました。
お骨折り頂いたのにもかかわらず、出張続きで、あれ以来取り組めず、返信が遅くなり、本当に申し訳ございませんでした。
ご教示頂きましたもののシート名を直しまして、以下のように、記述してみたのですが、プルダウンから選択しましても、転記がされません。
エラーも表示されず、何も、動きませんでした。
コンボボックスの設定は、以下のようにしました。

(オブジェクト名)= cbo商品一覧
BoundColumn = 1
CloumnCount = 8
ColomnWidth = 220;0;0;0;0;0;0;40
LinkedCell = 空欄
ListFillRange = 商品一覧
ListWidth = 260 pt

お手数をおかけしますが、ご教示を、何卒、よろしくお願い致します。


Option Explicit

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

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
 
  '転記元行位置を取得
  '※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

【64883】Re:コンボボックスだけで、Vlookup関数を...
回答  Hirofumi  - 10/3/24(水) 15:16 -

引用なし
パスワード
   この「cbo商品一覧」はどのシートに有りますか?
また、「ListFillRange = 商品一覧」の「商品一覧」、
多分、セル範囲名だと思いますが?
どのシートの範囲は如何なりますか?

【64885】Re:コンボボックスだけで、Vlookup関数を...
質問  初心者です  - 10/3/24(水) 16:45 -

引用なし
パスワード
   Hirofumiさま、
早速のご返信、本当に、ありがとうございます!

>この「cbo商品一覧」はどのシートに有りますか?

「受注伝票」シートにあります。

>また、「ListFillRange = 商品一覧」の「商品一覧」、
>多分、セル範囲名だと思いますが?
>どのシートの範囲は如何なりますか?

「MT_商品」シートの、セル範囲A5:J36に、「商品一覧」という名前を付けました。

本当に、ご返信ありがとうございます。
何卒、よろしくお願い致します。

【64887】Re:コンボボックスだけで、Vlookup関数を...
回答  Hirofumi  - 10/3/24(水) 18:28 -

引用なし
パスワード
   変ですね?
私の方のTestですと、動いていますが?
なぜでしょう?

デバグの方法はご存じですか?

先頭の方に有る

  lngRow = cbo商品一覧.ListIndex

にブレークポイントを置いて、ステップ実行して見て下さい
何も起こらないと言うなら

  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

ここで、Subを抜けている様な気がします

【64895】Re:コンボボックスだけで、Vlookup関数を...
質問  初心者です  - 10/3/25(木) 15:06 -

引用なし
パスワード
   Hirofumiさま、
ありがとうございます!
同じもの、作って、教えて頂いてるんですね〜・・・感謝です(人-)

すみません、私が見逃しておりまして、「受注伝票」シートのA16から、U16までは、明細番号、品名、規格、規格単位...と項目が並んでおりまして、A列の明細番号が1〜18まであり、B17からU34までは入力欄で、その下2行は、合計(税抜き)と、明細件数となっておりまして、結局は、A16からU36までは、表みたいな形になっているのですが、その下の行、B37から、転記入力されていました。

「受注伝票」シートのB17から転記入力されるようにしたいのですが、
どうしたらいいでしょうか?
また、新たに選択するたびに、一段下の行に、追加で転記されていくのですが、これは、同じ行で、内容を訂正するようになりますでしょうか?

大変お手数をおかけしておりますが、何卒、再度のご教示をよろしくお願い致します。

【64900】Re:コンボボックスだけで、Vlookup関数を...
回答  Hirofumi  - 10/3/25(木) 20:23 -

引用なし
パスワード
   >「受注伝票」シートの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

【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


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

【64917】Re:コンボボックスだけで、Vlookup関数を...
回答  Hirofumi  - 10/3/26(金) 17:31 -

引用なし
パスワード
   >ただ、本当は、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としました。
>以下が、コードになります。

と言う事なら、最初からこうしたいと言って欲しかったのですが?
コード中の転記部分は全て同じなので、別プロシージャとして転記は、
此れを呼び出す様にします
また、各ComboBoxのイベントプロシージャの中も成るべく簡単にしました
Posting(転記プロシージャ)を呼び出すときの渡す第1引数は、出力先の行位置とします
また、第2引数は転記元の行位置とします


'★以下のステートメントはモジュール先頭に1回だけ宣言する
'多分、此れを幾つも宣言した為
'「End Sub、End Function または End Property以降には、コメントのみが記述できます。」
'が出たと思います
Option Explicit

Private Sub cbo商品一覧1_Change()

  Dim lngRow As Long

  'cbo商品一覧1のListIndexを取得
  lngRow = cbo商品一覧1.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '17は17行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 17, lngRow + 5
 
 End Sub

Private Sub cbo商品一覧2_Change()

  Dim lngRow As Long

  'cbo商品一覧2のListIndexを取得
  lngRow = cbo商品一覧2.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '18は18行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 18, lngRow + 5
 
End Sub

Private Sub cbo商品一覧3_Change()

  Dim lngRow As Long

  'cbo商品一覧3のListIndexを取得
  lngRow = cbo商品一覧3.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '19は19行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 19, lngRow + 5
 
End Sub

'★下記プロシージャは、上記イベントプロシージャと同じシートモジュールに記述
Private Sub Posting(lngWrite As Long, lngRow As Long)

  '転記
  With Worksheets("MT_商品")
    Me.Cells(lngWrite, "B").Value = .Cells(lngRow, "A").Value
    Me.Cells(lngWrite, "C").Value = .Cells(lngRow, "B").Value
    Me.Cells(lngWrite, "D").Value = .Cells(lngRow, "C").Value
    Me.Cells(lngWrite, "E").Value = .Cells(lngRow, "D").Value
    Me.Cells(lngWrite, "F").Value = .Cells(lngRow, "E").Value
    Me.Cells(lngWrite, "H").Value = .Cells(lngRow, "F").Value
    Me.Cells(lngWrite, "J").Value = .Cells(lngRow, "G").Value
    Me.Cells(lngWrite, "K").Value = .Cells(lngRow, "H").Value
    Me.Cells(lngWrite, "P").Value = .Cells(lngRow, "I").Value
    Me.Cells(lngWrite, "Q").Value = .Cells(lngRow, "J").Value
  End With

End Sub

【64952】Re:コンボボックスだけで、Vlookup関数を...
お礼  初心者です  - 10/3/29(月) 14:54 -

引用なし
パスワード
   Hirofumiさま、
ひゃぁ〜、ほんとうに、その通りですね!
質問の仕方すら、おぼつかず、再三、ご迷惑をおかけしまして、申し訳ございませんでした(-人-;)
本当に、ありがとうございます!!
おかげで、動きました!!!

以下、コードになります。


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

' ★以下のステートメントはモジュール先頭に1回だけ宣言する
' 多分、此れを幾つも宣言した為
' 「End Sub、End Function または End Property以降には、コメントのみが記述できます。」
' が出たと思います
Option Explicit

Private Sub cbo商品一覧1_Change()

  Dim lngRow As Long

  'cbo商品一覧1のListIndexを取得
  lngRow = cbo商品一覧1.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '17は17行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 17, lngRow + 5

 End Sub

Private Sub cbo商品一覧2_Change()

  Dim lngRow As Long

  'cbo商品一覧2のListIndexを取得
  lngRow = cbo商品一覧2.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '18は18行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 18, lngRow + 5

End Sub

Private Sub cbo商品一覧3_Change()

  Dim lngRow As Long

  'cbo商品一覧3のListIndexを取得
  lngRow = cbo商品一覧3.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '19は19行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 19, lngRow + 5

End Sub


Private Sub cbo商品一覧4_Change()

  Dim lngRow As Long

  'cbo商品一覧4のListIndexを取得
  lngRow = cbo商品一覧4.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '20は20行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 20, lngRow + 5

End Sub


Private Sub cbo商品一覧5_Change()

  Dim lngRow As Long

  'cbo商品一覧5のListIndexを取得
  lngRow = cbo商品一覧5.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '21は21行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 21, lngRow + 5

End Sub


Private Sub cbo商品一覧6_Change()

  Dim lngRow As Long

  'cbo商品一覧6のListIndexを取得
  lngRow = cbo商品一覧6.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '22は22行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 22, lngRow + 5

End Sub


Private Sub cbo商品一覧7_Change()

  Dim lngRow As Long

  'cbo商品一覧7のListIndexを取得
  lngRow = cbo商品一覧7.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '23は23行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 23, lngRow + 5

End Sub


Private Sub cbo商品一覧8_Change()

  Dim lngRow As Long

  'cbo商品一覧8のListIndexを取得
  lngRow = cbo商品一覧8.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '24は24行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 24, lngRow + 5

End Sub


Private Sub cbo商品一覧9_Change()

  Dim lngRow As Long

  'cbo商品一覧9のListIndexを取得
  lngRow = cbo商品一覧9.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '25は25行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 25, lngRow + 5

End Sub


Private Sub cbo商品一覧10_Change()

  Dim lngRow As Long

  'cbo商品一覧10のListIndexを取得
  lngRow = cbo商品一覧10.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '26は26行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 26, lngRow + 5

End Sub


Private Sub cbo商品一覧11_Change()

  Dim lngRow As Long

  'cbo商品一覧11のListIndexを取得
  lngRow = cbo商品一覧11.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '27は27行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 27, lngRow + 5

End Sub


Private Sub cbo商品一覧12_Change()

  Dim lngRow As Long

  'cbo商品一覧12のListIndexを取得
  lngRow = cbo商品一覧12.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '28は28行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 28, lngRow + 5

End Sub


Private Sub cbo商品一覧13_Change()

  Dim lngRow As Long

  'cbo商品一覧13のListIndexを取得
  lngRow = cbo商品一覧13.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '29は29行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 29, lngRow + 5

End Sub


Private Sub cbo商品一覧14_Change()

  Dim lngRow As Long

  'cbo商品一覧14のListIndexを取得
  lngRow = cbo商品一覧14.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '30は30行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 30, lngRow + 5

End Sub


Private Sub cbo商品一覧15_Change()

  Dim lngRow As Long

  'cbo商品一覧15のListIndexを取得
  lngRow = cbo商品一覧15.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '31は31行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 31, lngRow + 5

End Sub


Private Sub cbo商品一覧16_Change()

  Dim lngRow As Long

  'cbo商品一覧16のListIndexを取得
  lngRow = cbo商品一覧16.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '32は32行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 32, lngRow + 5

End Sub


Private Sub cbo商品一覧17_Change()

  Dim lngRow As Long

  'cbo商品一覧17のListIndexを取得
  lngRow = cbo商品一覧17.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '33は33行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 33, lngRow + 5

End Sub


Private Sub cbo商品一覧18_Change()

  Dim lngRow As Long

  'cbo商品一覧18のListIndexを取得
  lngRow = cbo商品一覧18.ListIndex
  'ComboBoxで選択されていない場合
  If lngRow = -1 Then
    Exit Sub
  End If

  '転記 以下のプロシージャ呼び出しで
  '34は34行目を意味します
  'また、lngRow + 5はComboBoxのListIndex+5を意味します
  Posting 34, lngRow + 5

End Sub


'★下記プロシージャは、上記イベントプロシージャと同じシートモジュールに記述
Private Sub Posting(lngWrite As Long, lngRow As Long)

  '転記
  With Worksheets("MT_商品")
    Me.Cells(lngWrite, "B").Value = .Cells(lngRow, "A").Value
    Me.Cells(lngWrite, "C").Value = .Cells(lngRow, "B").Value
    Me.Cells(lngWrite, "D").Value = .Cells(lngRow, "C").Value
    Me.Cells(lngWrite, "E").Value = .Cells(lngRow, "D").Value
    Me.Cells(lngWrite, "F").Value = .Cells(lngRow, "E").Value
    Me.Cells(lngWrite, "H").Value = .Cells(lngRow, "F").Value
    Me.Cells(lngWrite, "J").Value = .Cells(lngRow, "G").Value
    Me.Cells(lngWrite, "K").Value = .Cells(lngRow, "H").Value
    Me.Cells(lngWrite, "P").Value = .Cells(lngRow, "I").Value
    Me.Cells(lngWrite, "Q").Value = .Cells(lngRow, "J").Value
  End With

End Sub

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