Excel VBA質問箱 IV

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

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


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

【64135】受注データの表示形式について Akari 10/1/21(木) 14:39 質問[未読]
【64141】Re:受注データの表示形式について Hirofumi 10/1/21(木) 20:10 回答[未読]
【64375】Re:受注データの表示形式について Akari 10/1/31(日) 22:27 質問[未読]
【64384】Re:受注データの表示形式について UO3 10/2/1(月) 12:57 回答[未読]
【64482】Re:受注データの表示形式について Akari 10/2/14(日) 21:57 質問[未読]
【64539】Re:受注データの表示形式について Akari 10/2/21(日) 21:37 質問[未読]
【64540】Re:受注データの表示形式について UO3 10/2/21(日) 22:06 発言[未読]
【64543】Re:受注データの表示形式について UO3 10/2/22(月) 11:38 回答[未読]
【64640】Re:受注データの表示形式について Akari 10/2/27(土) 21:23 質問[未読]
【64644】Re:受注データの表示形式について UO3 10/2/28(日) 1:37 発言[未読]
【64645】Re:受注データの表示形式について UO3 10/2/28(日) 9:03 回答[未読]
【64680】Re:受注データの表示形式について Akari 10/3/7(日) 14:00 質問[未読]
【64544】Re:受注データの表示形式について Hirofumi 10/2/22(月) 12:30 発言[未読]
【64846】Re:受注データの表示形式について akari 10/3/18(木) 15:35 お礼[未読]
【68776】Re:受注データの表示形式について Akari 11/4/16(土) 13:57 質問[未読]

【64135】受注データの表示形式について
質問  Akari  - 10/1/21(木) 14:39 -

引用なし
パスワード
   こんにちは

 膨大な受注データを閲覧しやすいようにデータを加工したいですが、
方法はわからなくて、質問いたしました。

受注データに、
「受注年月日」/「商品CD」/「商品名」/「単価」の内容が
すべて同じであれば、受注先グループに個々の受注先の文字列を結合し、
格納させる。Excelの環境において、
解決方法はあるのでしょうか?

受注データ

受注年月日  商品CD  商品名  単価  受注先
20100120   A-001    あああ  100   大阪
20100120   B-001    いいい  150   名古屋
20100120   A-001    あああ  100   名古屋
20100120   B-001    いいい  150   神戸


加工後データ
受注年月日  商品CD  商品名  単価  受注先グループ
20100120   A-001    あああ  100   大阪,名古屋
20100120   B-001    いいい  150   名古屋,神戸

【64141】Re:受注データの表示形式について
回答  Hirofumi  - 10/1/21(木) 20:10 -

引用なし
パスワード
   >膨大な受注データ
て、どれくらい?
処理に時間が掛かるかも?
「受注データ」がShee1に在り、「受注年月日」の列見出しがA1に在る物とします
結果の「加工後データ」をSheet2に出力します

手順は
「受注年月日」、「商品CD」、「商品名」、「単価」でListwp整列
'List上から見て行って、「受注年月日」、「商品CD」、「商品名」、「単価」が
一致すれば、「受注先」を追加
一致しなければ、Sheet2に出力

Option Explicit

Public Sub Sample()

  '「受注データ」の列数設定(A〜E列)
  Const clngColumns As Long = 5
  '集列(「受注先」列)の列位置(基準セル位置からの列Offset:E列)
  Const clngItems As Long = 4
  
  Dim i As Long
  Dim j As Long
  Dim lngRows As Long
  Dim rngList As Range
  Dim rngResult As Range
  Dim vntTop As Variant
  Dim vntData As Variant
  Dim vntKeys As Variant
  Dim vntOrders As Variant
  Dim lngMax As Long
  Dim lngWrite As Long
  Dim strProm As String
  
  'Listの先頭セル位置を基準とする(先頭列の列見出しのセル位置)
  Set rngList = Worksheets("Sheet1").Range("A1")
  
  '結果出力の先頭セル位置を基準セル位置とする(先頭列の列見出しのセル位置)
  Set rngResult = Worksheets("Sheet2").Cells(1, "A")
  With rngResult
    'シートをクリア
    .Parent.Cells.ClearContents
    '列見出しを出力
    .Resize(, clngColumns).Value = rngList.Resize(, clngColumns).Value
    .Offset(, clngColumns - 1).Value _
        = .Offset(, clngColumns - 1).Value & "グループ"
  End With
  
  With rngList
    '行数の取得
    lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row
    If lngRows <= 0 Then
      strProm = "データが有りません"
      GoTo Wayout
    End If
  End With
  
  '画面更新を停止
  Application.ScreenUpdating = False
  
  '復帰用整列Keyを作成
  With rngList.Offset(1, clngColumns)
    .Value = 1
    .Resize(lngRows).DataSeries _
        Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
        Step:=1, Trend:=False
  End With
  
  '整列Keyを作成(「受注年月日」を第0列として
  '「受注年月日」、「商品CD」、「商品名」、「単価」を列挙)
  vntKeys = Array(0, 1, 2, 3)
  '整列順を設定
  lngMax = UBound(vntKeys)
  ReDim vntOrders(lngMax)
  For i = 0 To lngMax
    vntOrders(i) = xlAscending
  Next i
  'データ「受注年月日」、「商品CD」、「商品名」、「単価」順に取得
  DataSort rngList.Offset(1).Resize(lngRows, clngColumns + 1), vntKeys, vntOrders
  
  'Listの先頭〜最終で繰り返し
  vntTop = rngList.Offset(1).Resize(, clngColumns).Value
  For i = 2 To lngRows + 1
    'Listから1レコード分取得
    vntData = rngList.Offset(i).Resize(, clngColumns).Value
    '配列の先頭から最終まで比較
    For j = 0 To lngMax
      If vntTop(1, vntKeys(j) + 1) <> vntData(1, vntKeys(j) + 1) Then
        Exit For
      End If
    Next j
    '前列一致した場合
    If j > lngMax Then
      '「受注先」を追加
      vntTop(1, clngItems + 1) = vntTop(1, clngItems + 1) _
                  & "、" & vntData(1, clngItems + 1)
    Else
      '集計レコードを出力
      lngWrite = lngWrite + 1
      rngResult.Offset(lngWrite).Resize(, clngColumns).Value = vntTop
      '配列の中身を入れ替え
      vntTop = vntData
    End If
  Next i
    
  With rngList
    '復帰用KeyをKeyとして整列
    DataSort .Offset(1).Resize(lngRows, clngColumns + 1), _
                 Array(clngColumns), Array(xlAscending)
    '削除Flag列を削除
    .Offset(, clngColumns).EntireColumn.Delete
  End With
  
   strProm = "処理が完了しました"
  
Wayout:

  '画面更新を再開
  Application.ScreenUpdating = True
  
  Set rngList = Nothing
  Set rngResult = Nothing
   
  MsgBox strProm, vbInformation
          
End Sub

Private Sub DataSort(rngScope As Range, _
          vntKeys As Variant, _
          vntOrders As Variant)
  
  Dim i As Long
  Dim j As Long
  Dim vntTKeys As Variant
  Dim vntTOrders As Variant
  Dim lngNum As Long
  Dim vntKey(1 To 3) As Variant
  Dim vntOrder(1 To 3) As Variant
  
  vntTKeys = vntKeys
  vntTOrders = vntOrders
  
  lngNum = -Int(-(UBound(vntTKeys) + 1) / 3) * 3 - 1
  ReDim Preserve vntTKeys(lngNum), vntTOrders(lngNum)
  
  With rngScope
    For i = lngNum To 0 Step -3
      Erase vntKey
      For j = 3 To 1 Step -1
        If Not IsEmpty(vntTKeys(i + j - 3)) Then
          Set vntKey(j) = .Cells(1, 1).Offset(, vntTKeys(i + j - 3))
          vntOrder(j) = vntTOrders(i + j - 3)
        Else
          vntOrder(j) = xlAscending
        End If
      Next j
      .Sort _
        Key1:=vntKey(1), Order1:=vntOrder(1), _
        Key2:=vntKey(2), Order2:=vntOrder(2), _
        Key3:=vntKey(3), Order3:=vntOrder(3), _
        Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom, SortMethod:=xlStroke
    Next i
  End With
  
  For i = 1 To 3
    Set vntKey(i) = Nothing
  Next i
  
End Sub

【64375】Re:受注データの表示形式について
質問  Akari  - 10/1/31(日) 22:27 -

引用なし
パスワード
   返事が遅くなり、すいません。

いただいたコードにて、流してみましたので、
問題なく正しい結果を得ることができました。レスポンスも全然悪くはなく、
18,700レコードで数十秒程度でした。
とりあえずご報告まで。

【64384】Re:受注データの表示形式について
回答  UO3  - 10/2/1(月) 12:57 -

引用なし
パスワード
   ▼Akari さん:

処理速度はhirofumiさんのものと比べ、自信はありませんが
こんなやりかたもあるかもしれません。

Option Explicit

Sub Sample()
Dim myDic As Object
Dim sepChr As String
Dim myKey
Dim myLines As Long
Dim aaa
Dim i As Long

  Set myDic = CreateObject("Scripting.Dictionary")
  Worksheets("Sheet2").Range("A1:D1").Value = Worksheets("Sheet1").Range("A1:D1").Value
  Worksheets("Sheet2").Range("E1") = "受注先グループ"
  
  With Worksheets("Sheet1")
  
    myLines = .UsedRange.Rows.Count
  
    For i = 2 To myLines
      myKey = .Range("A" & i) & Chr(13) & _
        .Range("B" & i) & Chr(13) & _
        .Range("C" & i) & Chr(13) & _
        .Range("D" & i)
      sepChr = ""
      If myDic(myKey) <> "" Then sepChr = "、"
      myDic(myKey) = myDic(myKey) & sepChr & .Range("E" & i)
    Next
    
  End With
  
  i = 2
  
  With Worksheets("Sheet2")
    
    For Each myKey In myDic
      aaa = Split(myKey, Chr(13))
      .Range("A" & i).Resize(, 4) = aaa
      .Range("E" & i) = myDic(myKey)
      i = i + 1
    Next
  
  End With
  
  Set myDic = Nothing
  
End Sub

【64482】Re:受注データの表示形式について
質問  Akari  - 10/2/14(日) 21:57 -

引用なし
パスワード
   UO3さんへ
 新たなヒントをいただき、ありがとうございます。
さっそく明日、試してみます。
 
 

【64539】Re:受注データの表示形式について
質問  Akari  - 10/2/21(日) 21:37 -

引用なし
パスワード
   UO3 さん

返事が遅くなり、すいません!
いただいたコードで動いてみましたので、全然問題なし。
もし、元データに「数量」を追加した場合は、計算のルールがかなり煩雑となるから、それでも計算可能でしょうか?

1.GroupByの要素(受注年月日、商品CD、商品名、単価)同じであれば、
 数量を合計して、Sheet2へ転記する。
2.受注先グループの表示内容には、受注小計/受注先名称を表示したい。
 

受注データ             追加
                  ↓↓
受注年月日  商品CD  商品名  数量  単価  受注先
20100120   A-001    あああ  5   100   大阪
20100120   B-001    いいい  50   150   名古屋
20100120   A-001    あああ  10   100   名古屋
20100120   B-001    いいい  100  150   神戸
20100120   A-001    あああ  15   100   大阪  <===追加



加工後データ
受注年月日  商品CD  商品名  数量  単価  受注先グループ
20100120   A-001    あああ  30   100   20/大阪,10/名古屋
20100120   B-001    いいい  150  150   50/名古屋,100/神戸

【64540】Re:受注データの表示形式について
発言  UO3  - 10/2/21(日) 22:06 -

引用なし
パスワード
   ▼Akari さん:

こんばんは。

少しコードを追加することになりますが、方法はいくつか
あると思います。こんばんは多用あり、明日、仕事の合間に
作ってみます。しばらうお待ちください。

【64543】Re:受注データの表示形式について
回答  UO3  - 10/2/22(月) 11:38 -

引用なし
パスワード
   ▼Akari さん:
 こんにちは。
 数量追加版です。簡単なテストはしましたが、バグがあればご容赦。
 先に提示したコードをなるべくいかした【手抜き】対応(?)なので
 いささか、コードが、まだるっこしいかも。

Option Explicit

Sub Sample02()
Dim myDic1 As Object
Dim myDic2 As Object
Dim myDic3 As Object
Dim sepChr As String
Dim myKey1
Dim myKey2
Dim myLines As Long
Dim myBuyer As String
Dim myQty As Long
Dim aaa
Dim i As Long
  
  '受注年月日、商品CD、商品名、単価、受注先で数量集約

  Set myDic1 = CreateObject("Scripting.Dictionary")

  With Worksheets("Sheet1")
 
    myLines = .UsedRange.Rows.Count
 
    For i = 2 To myLines
      myKey1 = .Range("A" & i) & Chr(13) & _
        .Range("B" & i) & Chr(13) & _
        .Range("C" & i) & Chr(13) & _
        .Range("E" & i) & Chr(13) & _
        .Range("F" & i)
      If myDic1(myKey1) = "" Then
        myDic1(myKey1) = .Range("D" & i)
      Else
        myDic1(myKey1) = myDic1(myKey1) + .Range("D" & i)
      End If
    Next
  
  End With

  '受注年月日、商品CD、商品名、単価、でサマリー表用Dictionary作成

  Set myDic2 = CreateObject("Scripting.Dictionary")
  Set myDic3 = CreateObject("Scripting.Dictionary")
  For Each myKey1 In myDic1
    aaa = Split(myKey1, Chr(13))
    myKey2 = aaa(0) & Chr(13) & _
         aaa(1) & Chr(13) & _
         aaa(2) & Chr(13) & _
         aaa(3)
    myBuyer = aaa(4)
    myQty = myDic1(myKey1)
    If myDic2(myKey2) <> "" Then sepChr = "、"
    myDic2(myKey2) = myDic2(myKey2) & sepChr & myQty & "/" & myBuyer
    
    If myDic3(myKey2) = "" Then
      myDic3(myKey2) = myQty
    Else
      myDic3(myKey2) = myDic3(myKey2) + myQty
    End If
  Next
  
  'サマリー表用Dictionaryからサマリー表作成
  
  With Worksheets("Sheet2")
   .Cells.ClearContents
   .Range("A1:C1").Value = Worksheets("Sheet1").Range("A1:C1").Value
   .Range("D1").Resize(, 3) = Array("数量", "単価", "受注先グループ")
   i = 2
   For Each myKey2 In myDic2
     aaa = Split(myKey2, Chr(13))
     .Range("A" & i).Resize(, 3) = aaa
     .Range("D" & i) = myDic3(myKey2)
     .Range("E" & i) = aaa(3)
     .Range("F" & i) = myDic2(myKey2)
     i = i + 1
   Next
 
  End With
 
  Set myDic1 = Nothing
  Set myDic2 = Nothing
  Set myDic3 = Nothing
  
End Sub

【64544】Re:受注データの表示形式について
発言  Hirofumi  - 10/2/22(月) 12:30 -

引用なし
パスワード
   UO3 さんのコードだけで善いのでしょうが?
私のコードでは、以下と成ります

Option Explicit

Public Sub Sample_5()

'  数量集計版

  '「受注データ」の列数設定(A〜F列)
  Const clngColumns As Long = 6
  '集列(「受注先」列)の列位置(基準セル位置からの列Offset:E列)
  Const clngItems As Long = 5
  '集列(「数量」列)の列位置(基準セル位置からの列Offset:D列)
  Const clngItems2 As Long = 3
  
  Dim i As Long
  Dim j As Long
  Dim lngRows As Long
  Dim rngList As Range
  Dim rngResult As Range
  Dim vntTop As Variant
  Dim vntData As Variant
  Dim vntKeys As Variant
  Dim vntOrders As Variant
  Dim lngMax As Long
  Dim lngWrite As Long
  Dim vntUnique As Variant
  Dim strProm As String
  
  'Listの先頭セル位置を基準とする(先頭列の列見出しのセル位置)
  Set rngList = Worksheets("Sheet1").Range("A1")
  
  '結果出力の先頭セル位置を基準セル位置とする(先頭列の列見出しのセル位置)
  Set rngResult = Worksheets("Sheet2").Cells(1, "A")
  
  '整列Keyを作成(「受注年月日」を第0列として
  '「受注年月日」、「商品CD」、「商品名」、「単価」を列挙)
  vntKeys = Array(0, 1, 2, 4)
  
  With rngResult
    'シートをクリア
    .Parent.Cells.ClearContents
    '列見出しを出力
    .Resize(, clngColumns).Value = rngList.Resize(, clngColumns).Value
    .Offset(, clngColumns - 1).Value _
        = .Offset(, clngColumns - 1).Value & "グループ"
  End With
  
  With rngList
    '行数の取得
    lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row
    If lngRows <= 0 Then
      strProm = "データが有りません"
      GoTo Wayout
    End If
  End With
  
  '画面更新を停止
  Application.ScreenUpdating = False
  
  '復帰用整列Keyを作成
  With rngList.Offset(1, clngColumns)
    .Value = 1
    .Resize(lngRows).DataSeries _
        Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
        Step:=1, Trend:=False
  End With
  
  '整列順を設定
  lngMax = UBound(vntKeys)
  ReDim vntOrders(lngMax)
  For i = 0 To lngMax
    vntOrders(i) = xlAscending
  Next i
  'データ「受注年月日」、「商品CD」、「商品名」、「単価」順に取得
  DataSort rngList.Offset(1).Resize(lngRows, clngColumns + 1), vntKeys, vntOrders
  
  'Listの先頭〜最終で繰り返し
  vntTop = rngList.Offset(1).Resize(, clngColumns).Value
  '集計Listを作成
  Unique vntUnique, vntTop(1, clngItems + 1), vntTop(1, clngItems2 + 1)
  For i = 2 To lngRows + 1
    'Listから1レコード分取得
    vntData = rngList.Offset(i).Resize(, clngColumns).Value
    '配列の先頭から最終まで比較
    For j = 0 To lngMax
      If vntTop(1, vntKeys(j) + 1) <> vntData(1, vntKeys(j) + 1) Then
        Exit For
      End If
    Next j
    '前列一致した場合
    If j > lngMax Then
      ''集計Listを作成
      Unique vntUnique, vntData(1, clngItems + 1), vntData(1, clngItems2 + 1)
    Else
      '集計
      AddUp vntTop(1, clngItems + 1), vntTop(1, clngItems2 + 1), vntUnique
      '集計レコードを出力
      lngWrite = lngWrite + 1
      rngResult.Offset(lngWrite).Resize(, clngColumns).Value = vntTop
      '配列の中身を入れ替え
      vntTop = vntData
      '集計Listを作成
      vntUnique = Empty
      Unique vntUnique, vntTop(1, clngItems + 1), vntTop(1, clngItems2 + 1)
    End If
  Next i
    
  With rngList
    '復帰用KeyをKeyとして整列
    DataSort .Offset(1).Resize(lngRows, clngColumns + 1), _
                 Array(clngColumns), Array(xlAscending)
    '削除Flag列を削除
    .Offset(, clngColumns).EntireColumn.Delete
  End With
  
   strProm = "処理が完了しました"
  
Wayout:

  '画面更新を再開
  Application.ScreenUpdating = True
  
  Set rngList = Nothing
  Set rngResult = Nothing
  
  MsgBox strProm, vbInformation
          
End Sub

Private Sub Unique(vntList As Variant, vntData1 As Variant, vntData2 As Variant)

  Dim i As Long
  Dim lngMax As Long
  
  If VarType(vntList) = vbVariant + vbArray Then
    lngMax = UBound(vntList, 2)
    For i = 1 To lngMax
      If vntList(1, i) = vntData1 Then
        Exit For
      End If
    Next i
    If i > lngMax Then
      lngMax = lngMax + 1
      ReDim Preserve vntList(1, 1 To lngMax)
      vntList(1, lngMax) = vntData1
      vntList(0, lngMax) = vntData2
    Else
      vntList(0, i) = vntList(0, i) + vntData2
    End If
  Else
    ReDim vntList(1, 1 To 1)
    vntList(1, 1) = vntData1
    vntList(0, 1) = vntData2
  End If
  
End Sub

Private Sub AddUp(vntItem1 As Variant, vntItem2 As Variant, vntUnique As Variant)

  Dim i As Long
  Dim vntValue As Variant
  Dim vntSum As Variant
  
  vntValue = vntUnique(0, 1) & "/" & vntUnique(1, 1)
  vntSum = vntUnique(0, 1)
  For i = 2 To UBound(vntUnique, 2)
    vntValue = vntValue & "、" & vntUnique(0, i) & "/" & vntUnique(1, i)
    vntSum = vntSum + vntUnique(0, i)
  Next i
  
  vntItem1 = vntValue
  vntItem2 = vntSum
  
End Sub

Private Sub DataSort(rngScope As Range, _
          vntKeys As Variant, _
          vntOrders As Variant)
  
  Dim i As Long
  Dim j As Long
  Dim vntK As Variant
  Dim vntO As Variant
  Dim lngNum As Long
  
  vntK = vntKeys
  vntO = vntOrders
  
  lngNum = -Int(-(UBound(vntK) + 1) / 3) * 3 - 1
  
  ReDim Preserve vntK(lngNum), vntO(lngNum)
  For i = UBound(vntOrders) + 1 To lngNum
    vntO(i) = xlAscending
  Next i
  
  With rngScope
    For i = lngNum To 0 Step -3
      .Sort _
        Key1:=.Cells(1, vntK(i - 2) + 1), _
        Key2:=IIf(IsEmpty(vntK(i - 1)), vntK(i - 1), .Cells(1, vntK(i - 1) + 1)), _
        Key3:=IIf(IsEmpty(vntK(i)), vntK(i), .Cells(1, vntK(i) + 1)), _
        Order1:=vntO(i - 2), _
        Order2:=vntO(i - 1), _
        Order3:=vntO(i), _
        Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom, SortMethod:=xlStroke
    Next i
  End With
  
End Sub

【64640】Re:受注データの表示形式について
質問  Akari  - 10/2/27(土) 21:23 -

引用なし
パスワード
   UO3 さん
 こんばんは。。
 二行目の先頭に「、」が付いているようです。取り除くことはかのうでしょうか?

【64644】Re:受注データの表示形式について
発言  UO3  - 10/2/28(日) 1:37 -

引用なし
パスワード
   ▼Akari さん:
> 二行目の先頭に「、」が付いているようです。取り除くことはかのうでしょうか?

 ご質問いただいているのを見過ごしてました。
 デバッグしてみますね。

【64645】Re:受注データの表示形式について
回答  UO3  - 10/2/28(日) 9:03 -

引用なし
パスワード
   ▼Akari さん:

おはようございます。
やっぱりバグがありましたね。
しかも、初歩的な。おはずかしいです。
1行追加願います。

'受注年月日、商品CD、商品名、単価、でサマリー表用Dictionary作成

  Set myDic2 = CreateObject("Scripting.Dictionary")
  Set myDic3 = CreateObject("Scripting.Dictionary")
  For Each myKey1 In myDic1
    aaa = Split(myKey1, Chr(13))
    myKey2 = aaa(0) & Chr(13) & _
         aaa(1) & Chr(13) & _
         aaa(2) & Chr(13) & _
         aaa(3)
    myBuyer = aaa(4)
    myQty = myDic1(myKey1)
    sepChr = ""     '<==== ここに1行、追加してください。
    If myDic2(myKey2) <> "" Then sepChr = "、"
    myDic2(myKey2) = myDic2(myKey2) & sepChr & myQty & "/" & myBuyer
    
    If myDic3(myKey2) = "" Then
      myDic3(myKey2) = myQty
    Else
      myDic3(myKey2) = myDic3(myKey2) + myQty
    End If
  Next

【64680】Re:受注データの表示形式について
質問  Akari  - 10/3/7(日) 14:00 -

引用なし
パスワード
   こんにちは。。

 追加コードで、問題解消となりました。

【64846】Re:受注データの表示形式について
お礼  akari  - 10/3/18(木) 15:35 -

引用なし
パスワード
   Hirofumiさん
 正しい計算ができましたので、問題解決です。
 ありがとうございました。

【68776】Re:受注データの表示形式について
質問  Akari  - 11/4/16(土) 13:57 -

引用なし
パスワード
   Hirofumi さん

再度質問させて下さい。

以下のレイアウトで、A・B・Dでソートをかける場合は、Public Sub Sample_5()

の修正方法を教えて下さい。よろしくお願いします。 

  A      B      C    D    E
受注年月日  商品CD  商品名  単価  受注先

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