過去ログ

                                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の列は削除」でなくても、
数字がある部分に関してのグラフが作成できればよいのですが・・・。

うまく説明しにくいのですが・・・。
宜しくお願いします。
 ───────────────────────────────────────  ■題名 : Re:列を削除  ■名前 : ぴかる  ■日付 : 02/12/26(木) 8:40  -------------------------------------------------------------------------
   まあこさん、おはようございます。

ゴメンナサイ、状況をあまり理解できてませんが・・・。
0のセルを削除で良ければ次の方法があります。
1.データ内のどこかのセルをセレクト
2.[Shift][Ctrl][*]を同時に押す
3.編集→置換を選択
4.検索する文字列を0にする
5.すべて置換を実行

おまけ
棒グラフの場合、0を#N/Aに置き換えると両どなりのデータを結ぶ事が出来ます。
よかったら、お試し下さい。
 ───────────────────────────────────────  ■題名 : Re:列を削除  ■名前 : ぴかる  ■日付 : 02/12/26(木) 12:44  -------------------------------------------------------------------------
   >棒グラフの場合
あ゙っ、また間違えた。ポリポリ、(^^;)
ていうことで、折れ線グラフでございます。
 ───────────────────────────────────────  ■題名 : Re:列を削除  ■名前 : てる  ■日付 : 02/12/26(木) 11:43  -------------------------------------------------------------------------
   意味があまりわかりませんが?
 以下の結果内容でよければご参考にして下さい。
 処理前 データ
  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
 ───────────────────────────────────────  ■題名 : 削除というより  ■名前 : 平  ■日付 : 02/12/26(木) 11:55  -------------------------------------------------------------------------
   ▼まあこ さん:
回答ではないのですが、要は
売上のあったお菓子のみグラフに表示したい
って事じゃないんでしょうか?
例えば

  イ  ロ  ハ
A|0   30  50
B|30  20  10

の場合、まずA店のグラフは

   ■
   ■
 ■ ■
 ■ ■
 ■ ■
−−−−−
 ロ ハ (イは売上がないので表示なし)

B店のグラフは

 ■
 ■ ■
 ■ ■ ■
−−−−−−−
 イ ロ ハ

私はマクロ等が組めないので、回答は他の方にお任せします。
横槍いれてスミマセン。
 ───────────────────────────────────────  ■題名 : Re:削除というより  ■名前 : ポンタ  ■日付 : 02/12/26(木) 13:13  -------------------------------------------------------------------------
   グラフは使ったことないので、よく分かりませんが、
こんな感じでいかがでしょう?

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
 ───────────────────────────────────────  ■題名 : Re:削除というより  ■名前 : まあこ  ■日付 : 02/12/26(木) 14:42  -------------------------------------------------------------------------
   >回答ではないのですが、要は
>売上のあったお菓子のみグラフに表示したい

そうなんです!
説明下手ですみません。

何人かの方が教えて下さった方法,
あとで試してみます。

ありがとうございます!
また夜にでも来ます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 487