![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
皆さま、こんにちは。
表題の件について、vbaに詳しい方のお知恵をお借りしたいです。
Sheet 1の2行目から50行目までの間に下記データが入力されているとします。
(例) A1セル 商品名 B1セル 地域 C1セル 在庫 D1セル 金額
____A_____B____C____D___
1 商品名 地域 在庫 金額
2 麦茶 池袋 あり 2000
3 緑茶 新宿 なし 1500
4 コーヒー 品川 なし 500
5 烏龍茶 新宿 あり 3000
6 紅茶 池袋 なし 1500
7 コーヒー 品川 あり 600
8 緑茶 新宿 なし 1500
9 緑茶 池袋 あり 500
10 紅茶 品川 なし 700
これらのデータを品川、新宿、池袋の地域別にまとめ、Sheet 2のA2セルへ商品、B2セルへ地域、C2セルへ在庫を(上から品川、新宿、池袋の順に)、マクロボタンをクリックするだけでデータ転記されるようなvbaコードのご教授願います。
データの入力については2行目から50行目までの間で可変します。
また、D例にある金額については転記の必要はありません。
現状は、フィルターで品川、新宿、池袋の地域別にソートをかけてコピー貼り付けをしています。
皆さま何卒宜しくお願い致します。
No.5ベストアンサー
- 回答日時:
こんにちは!
地域が三つだけなら他の方が回答されているようにわざわざVBAでやらなくてもいけそうな気がしますが、
VBAをご希望というコトなので、一例です。
尚、両シートとも1行目は項目行になっているという前提です。
↓のコードを標準モジュールにしてください。
Sub Sample1()
Dim k As Long, lastRow As Long
Dim wS As Worksheet
Dim myAry
myAry = Array("品川", "新宿", "池袋") '//←地域名が増えたらここに追加//
Set wS = Worksheets("Sheet2")
Application.ScreenUpdating = False
'//▼Sheet2のデータを一旦消去//
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(wS.Cells(2, "A"), wS.Cells(lastRow, "C")).ClearContents
End If
'//▼ココから操作//
With Worksheets("Sheet1")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
For k = 0 To UBound(myAry)
.Range("A1").AutoFilter field:=2, Criteria1:=myAry(k)
If .Cells(Rows.Count, "A").End(xlUp).Row > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow, "C")).SpecialCells(xlCellTypeVisible).Copy _
wS.Cells(Rows.Count, "A").End(xlUp).Offset(1)
End If
Next k
.AutoFilterMode = False
End With
wS.Activate
Application.ScreenUpdating = True
MsgBox "完了"
End Sub
※ >ボタンを押下するだけの簡単に出来ないかものかと・・・
手動でマクロを実行するのではなく、ワンクリック(コマンドボタン等)で行いたい場合は
Sheet1にコマンドボタンを配置し
Private Sub CommandButton1_Click()
Call Sample1
End Sub
でマクロが実行されます。
※ 今回はデータ数があまり多くないので、
Sheet2のどこかのセルに「地域名」を入力すればその地域のみだけを表示!
といったコトは関数で可能なので、三つの地域を一度の表示しなくて良いのであれば
そちらの方がいいかも・・・m(_ _)m
tom04様
ご親切に完成コードまで提示して頂きありがとうございました。おかげさまで、無事に出来ました。
また、貴重なアドバイスについても、重々お礼申し上げます。
本当にありがとうございました。
No.4
- 回答日時:
画面のちらつきは単純に画面更新を止めてないだけだと思います。
ただそれにしてもいちいち3回抽出するんじゃなくて 地域ごとに番号
を振ってソートしてやった方が早いでしょう。
あと Excel2013なら データの取得と変換機能(クエリ)があります。
・Sheet1の表(テーブル1)を読み込む
・カスタム列(「順番」)に ifで地域に番号を振る
= if [地域] = "品川" then 1 else (if [地域] = "新宿" then 2 else (if [地域] = "池袋" then 3 else 4))
・順番列を昇順にソート
・「順番」「金額」列を削除して読み込み
でいいはず。
地域がもっとたくさんある場合は テーブル2にマスタを作っておいて
マージすればいいです。そっちの方がむしろ簡単です。
使う人がデータの更新すらできないなら 更新ボタンくらい入れてもい
いでしょうけど。
No.3
- 回答日時:
filter(a2:d50,b2:b50="品川","")
filter(a2:d50,b2:b50="新宿","")
filter(a2:d50,b2:b50="池袋","")
の3行で足りるのに、VBAでする意味がわからない。
ただしヴァージョン365ですが。
banzaiA様
お返事ありがとうございます。
老人ばかりなので、ボタンを押下するだけの簡単に出来ないかものかと考えていました。
バージョンはエクセル2013です。
No.2
- 回答日時:
No1です。
>画面のちらつきが気になったので、この度質問させて頂きました。
問題がそこだけであるなら、マクロ実行中の間だけ「画面の更新」を停止しておけばよろしいでしょう。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- Excel(エクセル) VBAで同フォルダ内の別ブックを開かず参照して条件の一致する行の指定セルを抽出するには? 1 2022/07/21 19:29
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- ハロウィン 渋谷に何故人は集まるのですか?サッカー、ハロウィン、他、、集まる人って暇なんですか。? 2 2022/11/27 21:08
- Visual Basic(VBA) vbaについて 主に以下のような設定をしたいです。 Aブックの表の行数が20未満だったら Bブックの 1 2023/06/08 23:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
隅田川花火大会を池袋サンシャ...
-
いたばし花火大会について
-
渋谷と池袋、高校生が、行くと...
-
吉祥寺の遊ぶところ・食べるところ
-
池袋のチャイナタウンの最寄り...
-
東京で中学生が遊べる場所
-
杉並区内の工場見学
-
池袋の危険度
-
池袋西口あたりの待ち合わせ場...
-
エクセル データ転記について
-
語尾に「~わよ」~「だわ」等...
-
靖国神社 御霊祭り
-
東京駅近くでスカイツリーの見...
-
単語の並列(、や)の仕方教え...
-
八重洲口から武道館までの簡単...
-
東京で野球グローブの貸し出し...
-
数字のつく東京の地名
-
隅田川花火大会を会場以外でも...
-
お見えですか? と尋ねる言...
-
鉛筆のとがった状態を表す言葉...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
東横イン池袋北口 1と2の違い
-
都内23区を8ブロックに分けた場...
-
埼京線で池袋着、東口には何処...
-
歌舞伎町や、池袋のソープや風...
-
池袋周辺で安い文房具店を探し...
-
山手線沿線で宿泊する場合治安...
-
池袋の危険度
-
池袋にある塔。
-
池袋・新宿・渋谷の違い・・・
-
いたばし花火大会について
-
渋谷から新宿、池袋まで徒歩で...
-
池袋の学生アルバイトについて。
-
池袋の東口と西口どっちが治安...
-
巣鴨から池袋駅まで歩いていけ...
-
東京の池袋のCITY銀行ATM機器日...
-
新橋周辺に大きな文房具店はあ...
-
豊島区内で安いスーパーorディ...
-
池袋発の湘南ライナー?
-
池袋駅
-
上野って治安悪いし頭悪いDQN多...
おすすめ情報