advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 14716 for VBA�������������� (0.003 sec.)
[[20090324151426]]
#score: 3409
@digest: c27b1eb24796e118533d318a572a35db
@id: 42603
@mdate: 2009-03-26T04:06:55Z
@size: 4562
@type: text/plain
#keywords: 振振 (70053), 原c (67484), 振1 (61734), 梅田 (35675), 藤a (27459), 田b (25734), lngcolumn (23407), vntresult (20047), vntdata (16454), lngrow (13622), 振4 (7748), パン (7148), 月火 (4783), 日月 (4563), 佐藤 (4074), 火水 (4061), 金土 (3404), ヒト (3387), 水木 (3259), 木金 (3254), 水3 (3206), 記表 (2507), ンパ (2275), 年7 (2086), sample1 (1874), みち (1819), 土日 (1758), かみ (1497), (パ (1375), 則性 (1172), 日1 (1115), 、vb (1065)
『こんなこと出来ますか』(パンパン)
日 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 曜 日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 佐藤A 1 2 3 振 振 1 2 3 振 振 1 1 2 3 3 振 振 1 1 1 2 3 3 3 振 振 振 1 2 3 7/1 年 7/8 7/14 △ △ 梅田B 1 2 3 振 振 1 2 3 振 振 1 1 2 3 3 振 振 1 1 1 2 3 3 3 振 振 振 1 2 7/1 年 7/8 7/14 △ △ 原C 1 1 2 3 3 1 1 2 2 2 1 2 2 3 3 1 1 1 3 3 1 1 という表があったとして以下の表みたいに簡単にできますでしょうか、教えてください。 1 2 3 振 1 佐藤A 2 梅田B 原C 佐藤A 3 原C 梅田B 佐藤A 4 原C 梅田B 佐藤A 5 原C 佐藤A 梅田B 以下31日まで続く表です。 ----------- >以下の表みたいに だけでは??? その規則性は??? ---- すみません、規則性とか何とかじゃなく上記表が簡単に下記表に代わる関数とか何かあるのでしょうか 条件は同じ日に同じ数字のヒトを横に集めるのですけど、よろしくお願いいたします。 (パンパン) ---- こんにちは。かみちゃん です。 横から失礼します。 > 簡単に下記表に代わる関数とか何かあるのでしょうか 私なら、VBAで処理しますが、VBAのコードの提示があれば、それを標準モジュールに 記述(貼り付け)して実行することはできますか? (かみちゃん) 2009-03-25 16:33 ---- かみちゃんさん、ありがとうございます、VBAはさっぱりわかりません、VBAのみなのでしょうか、 VBAでできるのであれば一回試す価値はありますね、よろしくお願いいたします。 (パンパン) ---- こんにちは。かみちゃん です。 > VBAはさっぱりわかりません、VBAのみなのでしょうか VBAは、さっぱりわからない方に対して、 VBAの方法を提案するのみどうかと思いますが、 私は、数式は思いつかないので、VBAで処理する方法をとりあえず、提案してみます。 以下のようなシートイメージの場合 【Sheet1】 A B C D E F 1 日 1 2 3 4 2 曜 日 月 火 水 3 佐藤A 1 2 3 振 4 7/1 5 梅田B 1 2 3 6 7 原C 1 1 2 8 以下のマクロSample1を実行すると、Sheet2には、以下のように2行目から出力されます 【Sheet2】 A B C D E 1 2 佐藤A 3 梅田B 原C 佐藤A 4 原C 梅田B 佐藤A 5 原C 梅田B 佐藤A Sub Sample1() Dim WS1 As Worksheet Dim WS2 As Worksheet Dim vntData As Variant Dim vntResult As Variant Dim lngRow As Long Dim lngColumn As Long Dim ss As String Set WS1 = Worksheets("Sheet1") Set WS2 = Worksheets("Sheet2") With WS1.Range("A1") lngRow = .Offset(Rows.Count - .Row).End(xlUp).Row If lngRow Mod 2 = 1 Then lngRow = lngRow + 1 End If vntData = WS1.Range("A1").CurrentRegion.Resize(lngRow).Value End With ReDim vntResult(1 To UBound(vntData, 2) - 1, 1 To 4) For lngRow = 3 To UBound(vntData, 1) Step 2 For lngColumn = 2 To UBound(vntData, 2) Select Case vntData(lngRow, lngColumn) Case 1, 2, 3 ss = vntResult(lngColumn - 1, vntData(lngRow, lngColumn)) If ss <> "" Then ss = ss & " " End If ss = ss & vntData(lngRow, 1) vntResult(lngColumn - 1, vntData(lngRow, lngColumn)) = ss Case "振" ss = vntResult(lngColumn - 1, 4) If ss <> "" Then ss = ss & " " End If ss = ss & vntData(lngRow, 1) vntResult(lngColumn - 1, 4) = ss End Select Next Next WS2.Range("A2").Resize(UBound(vntResult, 1), 4).Value = vntResult MsgBox "終了しました" End Sub (かみちゃん) 2009-03-25 23:03 ---- かみちゃんさん、ありがとうございます、データの範囲を示す式ってどこを換えるのですか、 たとえば現在「A3」からのデータをSheet2に書きだしていますよね、これを「A4」からとかできるのでしょうか? (パンパン) ---- こんにちは。かみちゃん です。 > 「A4」からとか] とかとは何でしょうか? その前に 2009-03-25 23:03 の例示のデータでは、うまく処理されたのでしょうか? A3から始まっているデータがA4の場合ですと、 偶数行開始となるので、 If lngRow Mod 2 = 1 Then を If lngRow Mod 2 = 0 Then とし、さらに、4行目開始の場合は、 For lngRow = 3 To UBound(vntData, 1) Step 2 を For lngRow = 4 To UBound(vntData, 1) Step 2 とします。 (かみちゃん) 2009-03-26 9:17 ---- かみちゃんさんありがとうございます、できました!そして舌足らずの質問で申し訳ありませんでした、今後活用させていただきます。本当にありがとうございました。 (パンパン) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200903/20090324151426.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97009 documents and 608121 words.

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