advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 2422 for ピボットテーブル (0.004 sec.)
[[20200901112605]]
#score: 4769
@digest: 43fd2006bd762b7291a93ffa2a3eb013
@id: 84982
@mdate: 2020-09-12T03:07:47Z
@size: 11449
@type: text/plain
#keywords: getpastecell (65413), 燦燦 (45725), rngitemto (44285), ドテ (32898), getpasterange (30483), rngto (28156), pivotitem (23849), columnfields (22473), datarange (17700), 、t6 (14016), ピポ (13236), pivotitems (12113), ポッ (9119), t5 (8509), ル") (8068), t7 (7669), t6 (7564), 別シ (5073), ト") (4437), ーブ (4237), テー (4122), ン定 (3884), ト定 (3878), ッド (3792), ピボ (3203), ブル (3180), ー元 (2122), トテ (1999), worksheets (1998), リケ (1970), 貼付 (1900), 2020 (1589)
『ピポッドテーブルの貼付』(燦燦)
マクロでピポッドテーブルの値を別シートの表形式に合わせて貼付することは できるのでしょうか? データーを更新してピポッドテーブルを作成しております 1.ピポッドテーブルのA列〜D列は7行目から最終行までを別シート の同じ列、26行目から貼付してます 2.ピポッドテーブルのE列からは5行目の種別に合わせて別シート と同じ種別の列に貼付してます (ピポッドテーブル) A| B| C| D| E| F| G| H| I| J| 1| 2| 3| 4| N1| 5| K1| K2| 6| T1| T2| T3| T4| T5| T6| T7| T5| T6| T7| 7| a| b| c| d| e| f| g| h| i| j| (別シート) A| B| C| D| E| F| G| H| I| J| 20| 21| 22| 23| 24| K1| K2| 25| T1| T2| T3| T4| T5| T6| T7| T5| T6| T7| 26| a| b| c| d| e| f| g| h| i| j| ピポッドテーブルがK1が無くて、K2しか無い時は別シートのK2の列に値を貼付したいのです < 使用 Excel:Excel2019、使用 OS:Windows10 > ---- こんばんは ^^ ピボット専用の範囲指定方法もあるよぉ〜ですが、いつも通りの範囲指定 値貼付けでも、出来たよぉ〜な気がいたします。ご提示の内容でしたら、 基本、行をずらして、コピペでも。。。m(_ _)m (隠居じーさん) 2020/09/01(火) 18:10 ---- 1.はもうすぐできそうです 2.がどうしていいか分かりません E列からは5行目のK1〜K10(項目)によって6行目のタイトルは繰り返します(T5〜T7) 別シートはK1〜K10までの表が作ってあり、それにピポッドテーブルの値をコピー してます 例えば下の図のように、ピポッドテーブルでK2とK3だけだった場合に別シートのK2と K3の列に自動でコピーしてくるようにしたいのです K1から順番でないときはどうしたらできるのかが分かりません (ピポッドテーブル) A| B| C| D| E| F| G| H| I| J| 1| 2| 3| 4| N1| 5| K2| K3| 6| T1| T2| T3| T4| T5| T6| T7| T5| T6| T7| 7| a| b| c| d| e| f| g| h| i| j| (別シート) A| B| C| D| E| F| G| H| I| J| 20| 21| 22| 23| 24| K1| K2| 25| T1| T2| T3| T4| T5| T6| T7| T5| T6| T7| 26| a| b| c| d| e| f| g| h| i| j| (燦燦) 2020/09/02(水) 09:17 ---- おはようございます ^^ あら?う〜ん。すみません。。。何となくわかりかけたよぉ〜な気はするのですが。。。 ↑の別シートは、処理前ですか。別シートの処理前と、処理後をご説明賜れば。お手伝い 出来るかもしれません。。。←解っていないのは私だけかもしれません。他の回答者様の アドバイスも引き続きお待ちくださいね(#^^#)v。。。でわ 目印は。。。T5とその下のe T5とその下のh でしょうかね??; (隠居じーさん) 2020/09/02(水) 09:53 ---- おはようございます ^^ 30分程眺めていますが。。。理解出来ません。相済みませ ん。私のコメントは全てスルーして下さい。是にて失礼致し ます。他の回答者様のレスをお待ちください。m(_ _)m (隠居じーさん) 2020/09/02(水) 10:57 ---- 図が間違えてましたので再投稿します すいません ●Kが1から順番(1、2、3、4〜10)だった時 K1のT5はe、T6はf、T7はg、 K2のT5はh、T6はi、T7はj 別シートも K1のT5はe、T6はf、T7はg、 K2のT5はh、T6はi、T7はj となるようにコピーします 手作業ならピポッドテーブルのE〜Gをコピーして、別シートの H〜Jに貼り付けます (ピポッドテーブル) A| B| C| D| E| F| G| H| I| J| 1| 2| 3| 4| N1| 5| K1| K2| 6| T1| T2| T3| T4| T5| T6| T7| T5| T6| T7| 7| a| b| c| d| e| f| g| h| i| j| (別シート) A| B| C| D| E| F| G| H| I| J| 20| 21| 22| 23| 24| K1| K2| 25| T1| T2| T3| T4| T5| T6| T7| T5| T6| T7| 26| a| b| c| d| e| f| g| h| i| j| ●Kが1から順番でない時 例はK2から始まった場合です K2のT5はh、T6はi、T7はj K3のT5はk、T6はl、T7はm 別シートは K1は空白 K2のT5はh、T6はi、T7はj となるようにコピーします (ピポッドテーブル) A| B| C| D| E| F| G| H| I| J| 1| 2| 3| 4| N1| 5| K2| K3| 6| T1| T2| T3| T4| T5| T6| T7| T5| T6| T7| 7| a| b| c| d| h| i| j| k| l| m| (別シート) A| B| C| D| E| F| G| H| I| J| 20| 21| 22| 23| 24| K1| K2| 25| T1| T2| T3| T4| T5| T6| T7| T5| T6| T7| 26| a| b| c| d| | | | h| i| j| (燦燦) 2020/09/02(水) 12:26 ---- 一例です。 まずは、ひとつ一つをできるようになりましょう。 貼り付け先のセルを検索するには、 Sub test2() Dim rngItemFrom As Range Dim rngItemTo As Range Dim c As Range Dim ix As Long With Worksheets("ピボット") Set rngItemFrom = Intersect(.Rows(5), .UsedRange) End With Set rngItemTo = Worksheets("別シート").Rows(24) For Each c In rngItemFrom ix = 0 If Len(c.Value) > 0 Then On Error Resume Next ix = WorksheetFunction.Match(rngFrom.Value, rngItemTo, 0) On Error GoTo 0 End If If ix > 0 Then c.Copy rngItemTo(ix) Next End Sub こんな感じです。 コピー元を巡回するには、 Sub test() Dim myPVT As PivotTable Dim f As PivotField Dim o Set myPVT = Worksheets("Sheet2").PivotTables(1) Set f = myPVT.ColumnFields(1) For Each o In f.PivotItems MsgBox o.DataRange.Address Next End Sub こんな感じです。 この二つをたたき台に一連の作業にまとめてみましょう。 (まっつわん) 2020/09/02(水) 14:54 ---- >Set rngItemTo = Worksheets("別シート").Rows(24) Set rngItemTo = Worksheets("別シート").Rows(24).cells です。修正願います。 まとめたコードは、またあとで書きます。 暑いからジュースを差し入れせんと。。。 (まっつわん) 2020/09/02(水) 14:58 ---- 元のサンプルは不具合がありましたね^^; 途中経過の参考程度に。 まとめてみました。 Sub メイン() Dim o As PivotItem Dim rngTo As Range For Each o In Worksheets("ピボット").PivotTables(1).ColumnFields(1).PivotItems Set rngTo = GetPasteRange(o.Name) If Not rngTo Is Nothing Then o.DataRange.Copy GetPasteCell(o.Name) End If Next End Sub Function GetPasteCell(ByVal sName As String) As Range Dim rngTo As Range: Set rngTo = Worksheets("別シート").Rows(24).Cells Dim ix As Long On Error Resume Next ix = WorksheetFunction.Match(sName, rngTo, 0) On Error GoTo 0 If ix > 0 Then Set GetPasteRange = rngTo(ix) End Function (まっつわん) 2020/09/02(水) 15:56 ---- Set rngTo = GetPasteRange(o.Name) 「SubまたはFunctionが定義されていない」とメッセージがでます 昨日、色々やってみましたが自分の能力ではお手上げです (燦燦) 2020/09/03(木) 12:52 ---- Sub test2() はどのような結果になるのでしょうか? 何も変化がおこりません ピポッドテーブルの7行目以降が別シートの26行目以降にコピー されるのでしょうか? また、Set rngTo = GetPasteRange(o.Name) を Set rngTo = GetPasteCell(o.Name)に変更したら メッセージは出なくなりましたが、こちらも同じく何も 変化がおこりません やり方に問題があるかもしれません ご教授お願いします (燦燦) 2020/09/03(木) 16:33 ---- Option Explicit Sub メイン() Dim o As PivotItem Dim rngTo As Range For Each o In Worksheets("ピボット").PivotTables(1).ColumnFields(1).PivotItems o.DataRange.Select MsgBox o.Name Set rngTo = GetPasteCell(o.Name) If Not rngTo Is Nothing Then o.DataRange.Copy GetPasteCell(o.Name) End If Next End Sub Function GetPasteCell(ByVal sName As String) As Range Dim rngTo As Range: Set rngTo = Worksheets("別シート").Rows(24).Cells Dim ix As Long On Error Resume Next ix = WorksheetFunction.Match(sName, rngTo, 0) On Error GoTo 0 If ix > 0 Then Set GetPasteCell = rngTo(ix) GetPasteCell.Select MsgBox GetPasteCell.Address Else MsgBox sName & ": が見つかりませんでした。" End If End Function 失礼しました。 動作確認はしたつもりですが、 なんだかおかしなこと書いてましたね^^; えっと、昼は外仕事、夜はデートでパソコンの前に座れてません。 上記のようにわざとセルを選択して可視化して確認してみてください。 あとステップインで実行しながら、 ローカルウィンドウで変数の中身を確認しながら、 意図通りに動いているか確認してください。 こちらが、そちらのシートの状態を把握できてないのが、 不具合の原因だとは思いますが、 その辺はそちらで微調整していただくしかないかと思いますので。 参考URL>> http://www.ken3.org/vba/excel-help.html (まっつわん) 2020/09/04(金) 08:31 ---- マクロ今回初挑戦です お忙しいところ恐縮ですがご教授お願いします。 シートの状態だと思うのですが「見つかりませんでした」となります イミテッドウィンドウというのをやってみました 何が原因か分かりませんでした あとローカルウィンドウもやってみました 意図とおりに動いているか恥ずかしながら分かりませんでした メッセージはピポッドテーブルのN1がでます 別シートはN1は無いのでこれが原因だったりしますか? あと、別シートは24行目より上には別のデーターやグラフがあります こっちが原因ですかね? o.DataRange.Select ↓ - : o : : PivotItem/PivotItem : DrilledDown : <アプリケーション定義またはオブジェクト定義のエラーです。> : Boolean : Formula : <アプリケーション定義またはオブジェクト定義のエラーです。> : String + : Parent : : PivotField/PivotField : ParentItem : <PivotItem クラスの ParentItem プロパティを取得できません。> : PivotItem : StandardFormula : <アプリケーション定義またはオブジェクト定義のエラーです。> : String On Error Resume Next ↓ - : rngTo : : Range/Range + : Cells : : Range/Range : CommentThreaded : <アプリケーション定義またはオブジェクト定義のエラーです。> : CommentThreaded : CurrentArray : <該当するセルが見つかりません。> : Range (燦燦) 2020/09/08(火) 14:03 ---- >メッセージはピポッドテーブルのN1がでます >別シートはN1は無いのでこれが原因だったりしますか? 意味がわかりません。 色々ぼかして表現されているので、ぼんやりしか伝わらないです。 用語等で業種とかばれるかも知れませんが、 会社名や個人名以外なら、さほど問題にならない気がしますが。。。 僕の経験上できるだけ、ぼかしたり言い換えたりしない方が、 回答側に素直に伝わる気がします。 >.ColumnFields(1).PivotItems .ColumnFields(2).PivotItems 山勘ですが、上記のように直すと意図する値が表示されるかも知れません。 マクロ初挑戦ならちょっとサンプルを解読するのが難しいかも知れません。 アプローチを変えて、 Sub test2() Dim i As Long Dim j As Long '5行目の一番右のデータがある列番号の取得 j = Worksheets("ピボットテーブル").Cells(5, Worksheets("ピボットテーブル").Columns.Count).End(xlToLeft).Column For i = 5 To j If IsEmpty(Worksheets("ピボットテーブル").Cells(5, i).Value) = False Then Worksheets("ピボットテーブル").Cells(5, i).Select MsgBox "項目名は:" & Worksheets("ピボットテーブル").Cells(5, i).Value _ & "セル番地は:" & Worksheets("ピボットテーブル").Cells(5, i).Address(False, False, , True) End If Next End Sub コピー元の基準のセルを順次探すマクロです。 まずはこの辺から少しづつ順番に勉強して覚えていくといいと思います。 これが意図通りできたら、 コピー元のセル範囲を基準のセルから相対位置で探していけばいいと思います。 ここの掲示板を毎日は見てないです。 申し訳ありません。 (まっつわん) 2020/09/12(土) 10:10 ---- パット思いつき、別のシートにコピー元と同じ位置に張り付けて、貼り付けた物を想定する位置までずらす。 それをコピーして、貼り付けたいところに張り付け。 これで数式もずれるんじゃないかと? 試してません。 (Why) 2020/09/12(土) 12:06 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/202009/20200901112605.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97066 documents and 608360 words.

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