トップページ > プログラム > 2014年06月12日 > leNeVPHt

書き込み順位&時間帯一覧

4 位/212 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000000000000000151411



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part33

書き込みレス一覧

Excel VBA 質問スレ Part33
679 :デフォルトの名無しさん[sage]:2014/06/12(木) 20:58:48.89 ID:leNeVPHt
>>675
ピボットで一撃で片付きそうな気もするけど、
マクロで組むならその形式であれば、それらのシートをテーブルに見たてて、
SQLを投げて、レコードセットに取得した値を他のシートに展開するのが
ちまちまロジック組むより手っ取り早いかな。
Excel VBA 質問スレ Part33
682 :デフォルトの名無しさん[sage]:2014/06/12(木) 21:19:47.42 ID:leNeVPHt
ま、いいんじゃない?
いくつかキーワードも挙がったし。
後は自分で調べるか、コード晒してくれる優しい人を待つか。
ただ、この程度のものであれば自分で調べて組んだ方が早いだろうけどね。
Excel VBA 質問スレ Part33
684 :デフォルトの名無しさん[sage]:2014/06/12(木) 21:26:40.23 ID:leNeVPHt
>>683
じゃ、出来るあなたがコード晒してあげたら?
Excel VBA 質問スレ Part33
687 :デフォルトの名無しさん[sage]:2014/06/12(木) 21:29:30.29 ID:leNeVPHt
ババアなの?!
Excel VBA 質問スレ Part33
690 :デフォルトの名無しさん[sage]:2014/06/12(木) 21:31:59.17 ID:leNeVPHt
>>688
ああそう、まあがんばってね
Excel VBA 質問スレ Part33
694 :デフォルトの名無しさん[sage]:2014/06/12(木) 21:37:43.46 ID:leNeVPHt
>>692
ババアでも40くらいまでで可愛ければコード組んじゃうかもしれない。
意外にストライクゾーン広いんだ。
Excel VBA 質問スレ Part33
718 :デフォルトの名無しさん[sage]:2014/06/12(木) 22:58:24.36 ID:leNeVPHt
>>706

Sub TotalAmount()
Dim dbCon As ADODB.Connection
Dim strsql As String
Dim dbRes As ADODB.Recordset
Dim Col As Long
Dim Row As Long
Set dbCon = New ADODB.Connection
With dbCon
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties") = "Excel 8.0"
.Open ThisWorkbook.FullName
End With
strsql = "SELECT B.ジャンル ,SUM(A.価格) AS 合計金額 FROM [Sheet1$] A INNER JOIN [Sheet2$] B ON A.通し番号 = B.通し番号 GROUP BY B.ジャンル"
Set dbRes = New ADODB.Recordset
dbRes.CursorLocation = adUseClient
dbRes.Open strsql, dbCon, adOpenDynamic, adLockOptimistic, adCmdText

つづく
Excel VBA 質問スレ Part33
719 :デフォルトの名無しさん[]:2014/06/12(木) 23:00:50.52 ID:leNeVPHt
つづき

With Worksheets("sheet3")
.Cells.ClearContents
For Col = 1 To dbRes.Fields.Count
.Cells(1, Col).Value = dbRes.Fields(Col - 1).Name
Next Col
Row = 1
Do Until dbRes.EOF
Row = Row + 1
For Col = 1 To dbRes.Fields.Count
.Cells(Row, Col).Value = dbRes.Fields(Col - 1).Value
Next Col
dbRes.MoveNext
Loop
End With
dbRes.Close: Set dbRes = Nothing
dbCon.Close: Set dbCon = Nothing
End Sub

こんな感じ。

シート1,2に設定しとけばシート3に書き出すよ。
ただし、Microsoft ActiveX Data Objects 2.8 Libraryの参照設定をきっとくこと。
Excel VBA 質問スレ Part33
722 :デフォルトの名無しさん[sage]:2014/06/12(木) 23:10:35.81 ID:leNeVPHt
>>721
おんぶにだっこだなぁ。
VBEでツール→参照設定でそれを選んでOK押せば参照してくれるから。
Excel VBA 質問スレ Part33
724 :デフォルトの名無しさん[sage]:2014/06/12(木) 23:19:00.19 ID:leNeVPHt
>>723
いやだからチェック入れないと。
今回使っているのはDAOじゃなくてADOだから。
Excel VBA 質問スレ Part33
725 :デフォルトの名無しさん[sage]:2014/06/12(木) 23:32:14.62 ID:leNeVPHt
さて、コードも書いたことだし、
とりあえずID:paP2EzQvは死んでくれないかな。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。