2017-09-19 11 views
0

マクロ機能が新しく追加されました。私はマクロ機能を介してExcelのSubject_nameフィールド(X、Y、Z)に円グラフを挿入しようとしています。ユーザーは、マクロコマンドボタンをクリックすると、このグラフをプロットできるはずです。基本的には、数を数えてからグラフをプロットする必要があります。ここExcelマクロ機能で円グラフを挿入

は、現在のデータの一例である:

X:ここ

Channel_Type | Channel_Category | Category | **Subject_Name** 
    MICROBLOG   General   A   X 
    Forum    General   A   Z 
    BLOG    General   A   Y 
    FORUM    General   A   X 
    MICROBLOG   General   A   Z 
    BLOG    General   A   Z 

は、所望の結果である2 | Y:1 | Z:3

enter image description here

これは、シート全体のためのグラフをプロットする前に、私が試したものですが、私はただ一つの列を選択する方法がわからないよ:

Option Explicit 

Sub Example() 
Dim cht As ChartObjects 
For Each cht In Worksheets(1).ChartObjects 

Next cht 
cht.Chart.ChartType = xlPie 


End Sub 

私が立ち往生されていますしばらくの間。助けをお待ちしています。

+1

あなたは私達にあなたのコードを表示し、あなたが捕まってしまった場所を指示する必要がありますので、(1)このすべての最初には、無料のコーディングサービスではありません([尋ねる]読み)(2)あなたがしようとしましたこのチャートを作成するときにマクロレコーダーを使用するので、マクロのコーディングを開始する方法を知ることができます。 (3)私はあなたが最初にパーセンテージを計算する必要があると思うので、これはあなたの最初の仕事(私はVBAの代わりに数式を使って行います)また、私はVBAの必要性を見ませんここに私はすべての数式で行うことができると思う。 –

+0

コメントありがとうございました。私の謝罪は十分に明確ではない。私は質問を編集しました。私はVBAを使用しようとしているので、コマンドボタンをクリックした後に自動的にグラフをプロットするはずです。 – Faheera

+0

あなたの質問はまだ不明です。何も説明せずにコードを投稿すると動作しません。あなたのコードは私が推測することは何もしていません。私はいくつかのことを提案しましたが、あなたはそのうちの1つを試してみませんでした(私たちはあなたを助けますが、私たちはあなたのために仕事をしません)。もう一度、(1)グラフに表示する値を(シート内の数式で)計算します。これは必要な最初のステップですが、これらの値はチャートなしです! (2)グラフを手動で作成します。 (3)次に、マクロレコーダーを使って、(グラフを生成しながら)私が示唆したように、コードをどのように開始するかを知る。 –

答えて

0

最後にカウント欄を含む表にデータを設定することを検討してください。これには1を入力することができます(各行は一意のレコードであると仮定します)。 「主題名」フィールドと「カウント」フィールドからピボットチャート(円グラフ)を作成します。次に、VBAを使用する必要がある場合は、ピボットボックスのリフレッシュをコマンドボタンにつなぎ、チャートをボタンプッシュで更新します。 Excelテーブルにあるデータは、新しい行が追加されたことを意味します。

1

グラフをプロットする前に、データを集計し、グラフにプロットする数値を入力する必要があります。グラフは自動的にそれを行いませんし、チャートはテキスト値をプロットすることはできません。

データを、円グラフに必要な3つの数値に集約する方法はたくさんあります。たとえば、ピボットテーブルやCountifを使用する数式などです。または、テキスト値をループして3つの変数に集計するVBAを記述することもできます。

数値が生成されたら、それらを使用してグラフを作成できます。

上記のいずれかを手動またはVBAで行うことができます。 Pivotアプローチを使用する場合、VBAは必要ない場合もあります。あなたの状況によって異なります。

0

これをVBAなしでも完全に実行でき、自動的に更新することもできます。

H2の式は=COUNTIF(D:D,G1)で、H4までコピーされます。 チャートは単にメニューから手動で挿入した:

  • もし
  • これを好きなテンプレートを選択し(2D円を選択)H4

  • メニュー=>挿入=>チャート:

    • 選択G1列ADにエントリを追加すると、チャートが自動的に更新されます。

      いいえVBA!

  • 関連する問題