Excel VBA質問箱 IV

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

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


521 / 13645 ツリー ←次へ | 前へ→

【79927】Excelで家計簿制作中 家計簿Excel 18/5/28(月) 15:03 質問[未読]
【79928】Re:Excelで家計簿制作中 マナ 18/5/28(月) 18:46 発言[未読]
【79931】Re:Excelで家計簿制作中 家計簿Excel 18/5/29(火) 11:54 質問[未読]
【79932】Re:Excelで家計簿制作中 マナ 18/5/29(火) 19:04 発言[未読]
【79936】Re:Excelで家計簿制作中 家計簿Excel 18/5/30(水) 11:40 お礼[未読]
【79941】Re:Excelで家計簿制作中 マナ 18/5/30(水) 19:06 発言[未読]

【79927】Excelで家計簿制作中
質問  家計簿Excel  - 18/5/28(月) 15:03 -

引用なし
パスワード
   Excelで家計簿作っていてVBAにチャレンジしていて

レシートを書く一覧表を作っていて、ユーザーフォームから入力出来る仕様にしてみました。
使用用途ごとにお金の流れを見れたらいいなと思い、ピポットテーブルで色分け・フィルター機能を追加しました。
すると下記のコードで書き込もうとすると(コードは最後に記載します)
ピポットテーブルの枠の外からしか書き込まなくなりました。

何かいい方法はありませんか??
それともピポットテーブルは諦めるべきでしょうか・・・
ご教授下さい。

Private Sub btnOk_Click()
 Dim lastRow As Long
    With Worksheets("一覧")
    Range("F3:H4").Select
    lastRow = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
    .Cells(lastRow, 2) = Me.txt購入日.Text
  End With
End Sub

【79928】Re:Excelで家計簿制作中
発言  マナ  - 18/5/28(月) 18:46 -

引用なし
パスワード
   ▼家計簿Excel さん:

>ピポットテーブルの枠の外からしか書き込まなくなりました。
>
>何かいい方法はありませんか??
>それともピポットテーブルは諦めるべきでしょうか・・・

何をしようとしているか理解できていませんが、

1)ピボットテーブルの元になる表にデータを追加
2)その後、ピボットテーブルの更新

というマクロではないのでしょうか。

【79931】Re:Excelで家計簿制作中
質問  家計簿Excel  - 18/5/29(火) 11:54 -

引用なし
パスワード
   わかりにくい質問で申し訳ありません。

・領収書をExcelにまとめるために一覧表を作成した
・ピポットテーブルを使い見やすく、検索(フィルター)機能を使えるようにしたい
・いちいち欄に記入するのではなく、ユーザーフォームを使って記入したい

一覧表を作成し項目を7項目(日付や金額)作りピポットテーブル機能を追加し
ユーザーフォームを作成した。
ところがユーザーフォームにあるボタンクリックによる書き込みをしたところ
ピポットテーブル枠の外からの書き込みを始めた。

これはあくまで説明用の例なのですが
A1にタイトル
B2〜H2に項目
B3:H3〜B10:H10までをピポットテーブルだとすると
B11:H11から書き始めます。
本当はB3:H3から順に上から埋めていってほしいのですが・・・

おそらく、ピポットテーブルの使い方or書き込みボタンのコードが違っているからうまく上から順に書き込んでくれないのだと思うのですが・・・

書き込みボタンのコードは


Private Sub btnOk_Click()
 Dim lastRow As Long
    With Worksheets("一覧")
    lastRow = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
    .Cells(lastRow, 2) = Me.txt購入日.Text
  End With
End Sub

のように記載しました。

空白の探し方を間違っているのでしょうか・・・
それとも一覧表にマクロを使わずに最初からピポットテーブル機能を使っているのが間違っているのでしょうか?

ご教授下さい。

【79932】Re:Excelで家計簿制作中
発言  マナ  - 18/5/29(火) 19:04 -

引用なし
パスワード
   ▼家計簿Excel さん:

>・領収書をExcelにまとめるために一覧表を作成した
>・ピポットテーブルを使い見やすく、検索(フィルター)機能を使えるようにしたい
>・いちいち欄に記入するのではなく、ユーザーフォームを使って記入したい


ここまでは理解できます。

>それとも一覧表にマクロを使わずに最初からピポットテーブル機能を使っているのが間違っているのでしょうか?

ここの意味がわかりませんが、たぶん間違っています。
マクロで、一覧表にデータ追加し、その後、続けてピボット更新です。
ピボットに直接データを転記するものではありません。(できません)

↓のような感じにするとよいです。

Private Sub btnOk_Click()
    一覧の最下行にデータを追加
    ピボットテーブルの更新    
End Sub

【79936】Re:Excelで家計簿制作中
お礼  家計簿Excel  - 18/5/30(水) 11:40 -

引用なし
パスワード
   すみません。

ピポットテーブルに書き込み出来ないのに項目欄の次の行にどう書き込むべきなのか
僕では理解できませんでした。


諦めることにします。

【79941】Re:Excelで家計簿制作中
発言  マナ  - 18/5/30(水) 19:06 -

引用なし
パスワード
   ▼家計簿Excel さん:


最初にピボットを作成したときの
元データに新しいデータを追加すれば
ピボットにその結果が反映させられます。

例えば、こんな感じで

  Dim データWS As Worksheet
  Dim ピボットWS As Worksheet
  Dim 追加行 As Long
  
  Set データWS = Worksheets("Sheet1")
  Set ピボットWS = Worksheets("Sheet2")
  
  追加行 = データWS.Cells(1).End(xlDown).Row + 1
  
  データWS.Cells(追加行, 1).Value = txt購入日.Text
  データWS.Cells(追加行, 2).Value = txt金額.Text
  
  ピボットWS.PivotTables(1).SourceData = _
    データWS.Cells(1).CurrentRegion.Address(, , xlR1C1, True)




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