• 締切済み

エクセルシートのコピーとシート名の変更&集計表

エクセルの集計に関して初心者です。1シートに同じ内容で各顧客のデータを同じフォームで入力しています。これを新しい顧客が出てくるたびにシートコピーしているのですが、VBAでボタンでコピーできるようにしたいです。 /Users/inouehirotaka/Desktop/スクリーンショット 0030-09-17 11.55.37.jpg さらにこれらの各シートの内容を集計表で一覧にしたいのですが、良い関数もしくはVBAでの転記方法をお教えください。 /Users/inouehirotaka/Desktop/スクリーンショット 0030-09-17 11.56.28.jpg 色々VBAで試してみたのですが、どうもうまくいきません。ご教授よろしくお願いいたします。

みんなの回答

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.3

説明用の画像がアップできていないのではないでしょうか。言葉だけだと、いまいち状況が掴めません。 シートコピーが目的なのか、集計が目的なのかも判りづらいです。 集計が目的なら、顧客シートとデータシートを別にして、集計はSUBTOTAL関数というのが鉄板かと思うのですが…

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>さらにこれらの各シートの内容を集計表で一覧にしたいのですが、良い関数もしくはVBAでの転記方法をお教えください。 こんなこと? http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/prog/prog01.html

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

>VBAでボタンでコピーできるようにしたいです。 デスクトップ上のjpgをシートに取り込みたいのか シートの一定範囲をjpgでデスクトップにエクスポートしたいのか? >色々VBAで試してみたのですが、どうもうまくいきません。 この過程を教えてもらうと推測しやすいんだけど とりあえずアクティブシートのA1:H30の範囲をデスクトップ上に jpgでエクスポートしてみました。 Sub Test()   Dim FilePath As String   Dim myRang As Range   Dim cht As Chart   FilePath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & _     "\スクリーンショット " & "00" & Format(Now, "e-mm-dd hh.mm.ss") & ".jpg"    '図形でエクスポートする範囲を設定   Set myRang = ActiveSheet.Range("A1:H30")   'セル範囲を画像としてコピーする(CopyPictureメソッド)   myRang.CopyPicture appearance:=xlScreen, Format:=xlPicture   '空白のチャート作成   Set cht = ActiveSheet.ChartObjects.Add(0, 0, myRang.Width, myRang.Height).Chart   'チャートにセル範囲の図形を貼付け   cht.Paste   '図形をエクスポート   cht.Export Filename:=FilePath, filtername:="JPG"   'エクスポートが済んだのでシート上のChartObjectsを削除します。   cht.Parent.Delete End Sub

関連するQ&A