Page 487 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼列を削除 まあこ 02/12/25(水) 22:15 ┣Re:列を削除 ぴかる 02/12/26(木) 8:40 ┃ ┗Re:列を削除 ぴかる 02/12/26(木) 12:44 ┣Re:列を削除 てる 02/12/26(木) 11:43 ┗削除というより 平 02/12/26(木) 11:55 ┣Re:削除というより ポンタ 02/12/26(木) 13:13 ┗Re:削除というより まあこ 02/12/26(木) 14:42 ─────────────────────────────────────── ■題名 : 列を削除 ■名前 : まあこ ■日付 : 02/12/25(水) 22:15 -------------------------------------------------------------------------
初心者です。宜しくお願いします。 A店〜Z店(行)で、イ・ロ・ハ・ニ・ホ・・・という お菓子の売上高(列)を表にしているものがあるとします。 イ ロ ハ・・・ A|0 30 50 B|30 20 10 C|0 10 50 D|20 30 30 IF関数を使って、A店でイ・ロ・ハ・ニ・・・という お菓子の売上高を別シートに抽出します。 イ ロ ハ・・・ A|0 30 50 そこまでの作業を手動で行ったあと、 マクロボタンをクリックすれば、自動で 「ゼロ」の列は削除し、グラフを作成する・・・ ということを したいのですが・・・可能でしょうか。 このA店の場合、イを削除し、ロとハに関してだけの グラフを作りたいのです。 「0の列は削除」でなくても、 数字がある部分に関してのグラフが作成できればよいのですが・・・。 うまく説明しにくいのですが・・・。 宜しくお願いします。 |
まあこさん、おはようございます。 ゴメンナサイ、状況をあまり理解できてませんが・・・。 0のセルを削除で良ければ次の方法があります。 1.データ内のどこかのセルをセレクト 2.[Shift][Ctrl][*]を同時に押す 3.編集→置換を選択 4.検索する文字列を0にする 5.すべて置換を実行 おまけ 棒グラフの場合、0を#N/Aに置き換えると両どなりのデータを結ぶ事が出来ます。 よかったら、お試し下さい。 |
>棒グラフの場合 あ゙っ、また間違えた。ポリポリ、(^^;) ていうことで、折れ線グラフでございます。 |
意味があまりわかりませんが? 以下の結果内容でよければご参考にして下さい。 処理前 データ A B C D 1 イ ロ ハ・・・ 2 A|0 30 50 3 B|30 20 10 4 C|0 10 50 処理後 データ A B C D 1 イ ロ ハ・・・ 2 A| 30 50 3 B|30 20 10 4 C| 10 50 マクロ(VBA)の中 For i = 2 To 4 … 列 For j = 2 To 4 … 行 If Worksheets("シート名").Cells(i, j) = 0 Then Worksheets("シート名").Cells(i, j) = Null End If Next j Next i |
▼まあこ さん: 回答ではないのですが、要は 売上のあったお菓子のみグラフに表示したい って事じゃないんでしょうか? 例えば イ ロ ハ A|0 30 50 B|30 20 10 の場合、まずA店のグラフは ■ ■ ■ ■ ■ ■ ■ ■ −−−−− ロ ハ (イは売上がないので表示なし) B店のグラフは ■ ■ ■ ■ ■ ■ −−−−−−− イ ロ ハ 私はマクロ等が組めないので、回答は他の方にお任せします。 横槍いれてスミマセン。 |
グラフは使ったことないので、よく分かりませんが、 こんな感じでいかがでしょう? Sub test() Dim データシート As Worksheet Dim i As Long, j As Integer Dim MyRange As Range Dim MyChart As Chart Set データシート = Worksheets("Sheet1") For i = データシート.Range("A65536").End(xlUp).Row To 2 Step -1 Set MyRange = Nothing For j = 2 To データシート.Cells(i, 256).End(xlToLeft).Column If データシート.Cells(i, j).Value <> 0 Then If MyRange Is Nothing Then Set MyRange = データシート.Cells(i, j) Else Set MyRange = Union(MyRange, データシート.Cells(i, j)) End If End If Next If Not MyRange Is Nothing Then Set MyChart = Charts.Add With MyChart .ChartType = xlColumnClustered Call .SetSourceData(MyRange) End With End If Next End Sub |
>回答ではないのですが、要は >売上のあったお菓子のみグラフに表示したい そうなんです! 説明下手ですみません。 何人かの方が教えて下さった方法, あとで試してみます。 ありがとうございます! また夜にでも来ます。 |