advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 2689 for 並べ替え (0.002 sec.)
[[20220905182629]]
#score: 4561
@digest: 142a4481beb96c426049cab8d8443c13
@id: 92218
@mdate: 2022-09-05T11:30:20Z
@size: 2540
@type: text/plain
#keywords: myorder (15535), 分チ (10781), customorder (10023), 数投 (10014), 入状 (9626), diff (9419), クve (7323), summary (5372), add2 (5334), 摘内 (5223), sortfields (4730), textjoin (3612), サマ (3552), nw (3476), 投入 (3216), 署を (2659), 工数 (2595), 差分 (2212), リシ (2095), maxcol (1669), マリ (1662), 任意 (1165), bk (1137), setrange (1112), 部署 (964), マナ (952), 所属 (843), 意に (833), べ替 (809), xltoright (779), hatena (721), ナ様 (682)
『VBAの並べ替え引数をユーザーが任意に入力した順番にしたい』(どっこいおむすび)
差分チェックブックの実行シートの指定のセル範囲にユーザーが任意で入力した所属の順番に、 工数投入状況ブックのサマリシートのデータをを並べ替える処理がしたいです。 (データ範囲はヘッダー含めA8セルからあります) ↓のコードでは並べ替えできませんでした。 どなたか良い方法を教えてください。 sub 部署を任意に並べ替え Dim Diff_bk ,NW_bk As Workbook Dim Diff_ws ,NW_ws As Worksheet Set Diff_bk = Workbooks("差分チェックver1.xlsm") Set Diff_ws = Diff_bk.Sheets("実行") Set NW_bk = Workbooks("工数投入状況.xlsx") Set NW_ws = NW_bk.Sheets("サマリ") '任意に並べ替えした部署を変数に入れる With Diff_ws aa = .Range("B11") bb = .Range("B12") cc = .Range("B13") dd = .Range("B14") ee = .Range("B15") ff = .Range("B16") gg = .Range("B17") End With With Summary_ws MaxRow = .Cells(Rows.Count, 1).End(xlUp).Row MaxCol = .Cells(9, 1).End(xlToRight).Column With .Sort .SortFields.Clear .SortFields.Add2 Key:=Range("A8"), CustomOrder:= _ "aa,bb,cc,dd,ee,ff,gg" .SetRange Range(Cells(8, 1), Cells(MaxRow, MaxCol)) .Header = xlYes .Apply End With End With end sub < 使用 Excel:Office365、使用 OS:Windows10 > ---- シート名が誤っていました。 正しくは With Summary_wsではなくWith NW_wsです。 しかしこれでも並べ替えできません。 (どっこいおむすび) 2022/09/05(月) 18:57 ---- WorksheetFunction.TextJoin(",", True, Diff_ws.Range("B11:B17")) (マナ) 2022/09/05(月) 19:18 ---- .SortFields.Add2 Key:=Range("A8"), CustomOrder:= _ "aa,bb,cc,dd,ee,ff,gg" ""で囲むと、変数ではなく「aa,bb,cc,dd,ee,ff,gg」という文字列です。 変数は""の外に出しましょう。 .SortFields.Add2 Key:=Range("A8"), CustomOrder:= _ aa & "," & bb & "," cc & "," dd & "," ee & "," ff & "," gg ただ、これは面倒なので、マナさんの回答のようにTextJoin関数を使うと 同じ結果になります。 (hatena) 2022/09/05(月) 19:25 ---- こんな感じで Dim myOrder As String myOrder = WorksheetFunction.TextJoin(",", True, Range("B11:B30")) として、 .SortFields.Add2 Key:=Range("A8"), CustomOrder:=CVar(myOrder) これで、どうでしょうか。 (マナ) 2022/09/05(月) 19:30 ---- マナ様 教えていただいたコードで並べ替えできました。 最初に引数の形式にして変数に入れるとよいのですね。 hatena様のご指摘内容も理解いたしました。 どうもありがとうございました。 (どっこいおむすび) 2022/09/05(月) 20:30 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/202209/20220905182629.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97055 documents and 608272 words.

訪問者:カウンタValid HTML 4.01 Transitional