はじめて投稿します。
PCで在庫管理を初めてすることになりました。エクセルもまだまだ勉強中であります。どなたかにご教授して頂ければと思い投稿しました。
Sheet1に下記のデータがあります。在庫が0になったものは別シートに貼り付けていますが、元データの表は見栄えが悪くなっています(行ごと切り取りで貼り付けるため、そこが空欄になってしまうため)
A列 B列 C列 D列
<会社名> <伝票番号> <出荷日> <在庫>
猫会社 11111 3/25 1
犬会社 22222 3/25 0
猫会社 33333 3/26 0
sheet1の在庫0の行は、その都度sheet2へ行ごと抽出したいのです。
そして、sheet1の在庫が0になったものは、見えない状態(非表示または、削除)されるようにしたいのですが、簡単にできる方法はないでしょうか?
どなたか教えて下さい。宜しくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
Excelの制限で都度Sheet2への抽出は難しいです。
但し、Addinを使うことにより、元データはそのままで、
簡単に在庫0と在庫0以外のデータを別シートへ抽出できます。
ご参考ください。
http://superdbtool.com/blog/archives/111
?list=UU6a8VJcVsqk-4k2uqPZJ6cg
No.2
- 回答日時:
こんばんは!
VBAでの一例です。
標準モジュールにしてください。
Sub Sample1()
Dim lastRow As Long, myRng As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
Set myRng = Range(.Cells(2, "A"), .Cells(lastRow, "D"))
.Range("A1").AutoFilter field:=4, Criteria1:=0
If .Cells(Rows.Count, "A").End(xlUp).Row > 1 Then
myRng.SpecialCells(xlCellTypeVisible).Cut wS.Cells(Rows.Count, "A").End(xlUp).Offset(1)
Range(.Cells(2, "A"), .Cells(lastRow, "A")).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
.AutoFilterMode = False
End With
End Sub
※ 関数でないので
データ変更があるたびにマクロを実行する必要があります。m(_ _)m
No.1
- 回答日時:
オートフィルターはご存知でしょうか。
オートフィルターで D列 在庫が 0 のみ表示させる。
行方向で選択して、コピー & シート2へ貼付け
選択した行を削除
オートフィルターを解除すれば、必要な行だけが残ります。
これでよければ、一度、マクロの記録を実行してください。
必要なコードが自動で作成されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- その他(Microsoft Office) Excelの関数(FILTER関数)について教えてください 2 2023/07/31 16:11
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) VBAで、シート間の転記するコードを教えてください。 4 2023/03/26 10:43
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
Microsoft1Officeの互換ソフト...
-
Excel ピボットテーブルで日付...
-
エクセル関数を教えてください
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
LOOKUP関数を使えばいいのでし...
-
エクセル 白黒印刷で白線を印刷...
-
【関数】先頭だけにある、半角...
-
【関数】適切な文字数の数字を...
-
Excelのチェックボックスの使い...
-
エクセルでの作業計算方法について
-
Excelのpivotについて質問です
-
WPS OFFICEでの縦書きについて
-
時間によってファイル名が変わ...
-
エクセルのセルに同じ大きさの...
-
Aというブックの1というシート...
-
エクセルの順位別一覧表の自動...
-
西暦や和暦の表示をyyyymmdd表...
-
【マクロ】エクセルにかいてあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの最終ページだけを自...
-
EXCELで別ブック全体の特定の列...
-
EXCEL VBA データを抽出して別...
-
エクセルに入力後、別のシート...
-
エクセルマクロ:日付値で、別...
-
エクセルデータから必要な情報...
-
Caps Lockキーの解除
-
Excel2010の並べ替えで行の高さ...
-
リース初心者です 利子率の計...
-
Excelでカーソルが逆に動く
-
エクセル関数で {=TABLE(,セル...
-
エクセルで離れたセルを離れた...
-
プルダウンで選択すると隣のセ...
-
エクセルで複数の勤務時間ごと...
-
エクセルで作った書類に、パン...
-
60進法で複数セルの足し算、引...
-
VBA 条件が一致した場合の...
-
Java、配列の問題を教えて欲し...
-
エクセルデータをワードへ反映...
-
shiftキーのロック解除をしたい...
おすすめ情報