A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
補足です。
#1のマクロを読みきれているのかは分かりませんが、#2の表のようなものを想定して、以下のマクロを作ってみました。すぐに出来ると思いましたが、なかなかそうはいきませんでした。
Sub TestMacro1()
Dim iSh As Worksheet
Dim kSh As Worksheet
Dim myData As Range
Dim c As Variant
Dim i As Long
Dim j As Long
Set iSh = Worksheets("一覧表")
Set kSh = Worksheets("記入用")
Application.ScreenUpdating = False
With iSh
'検索用のデータの抽出
If .AutoFilterMode = True Then .AutoFilterMode = False
With .Range("G1", .Range("G65536").End(xlUp))
.AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=.Range("AZ1"), _
Unique:=True
End With
Set myData = .Range("AA2", .Range("AA65536").End(xlUp))
'オートフィルタで抽出
For Each c In myData
.Range("D1", .Range("G65536").End(xlUp)).AutoFilter _
Field:=4, _
Criteria1:=c.Value
With .AutoFilter.Range.SpecialCells(xlCellTypeVisible)
'抽出行の最後の行+1
j = .Cells(65536, 1).End(xlUp).Row + 1
End With
.Rows(j).Insert
'記入用のシートからコピーする列は、Resize(, 7) は、7列という意味
kSh.Range("A13").Resize(, 7).Copy .Cells(j, 1)
Next c
.AutoFilterMode = False
'検索用のデータの削除
.Range("AZ1").CurrentRegion.ClearContents
End With
Application.ScreenUpdating = True
Set myData = Nothing
Set iSh = Nothing
Set kSh = Nothing
End Sub
No.2
- 回答日時:
こんにちは。
ご自身で考えられたのですね。私は、すぐに理解できませんでしたが、コードの書き方とかは別として、独特のアイデアで、それは非凡な発想だと思います。ここの掲示板では、そのコードで理解できる人ばかりではありませんが、そのコードなら、分かる人は、必ず評価してくれるはずです。やはり、最初にコードを書くべきだったと思います。
行を挿入して、そこに合計などを入れるのでしょうか。
今、別の方法を考えてみたのですが、パッと思いつきません。
通常は、以下のようになっていて、下にSelect を下げていく方法で、上と下の Cells(i,7).Value <>Cells(i+1,7).Value [7は、G列] というような方法をとりますが、特に、何千行という場合には、それは、いわゆる、ぬるいコードというしかありません。かといって、なかなかSort を使おうという発想にはなりません。Sort を使う真価は、大量の行がある時です。3万行程度でも、まったく、待たされることがなく、選び出します。
ここの質問は、最初だと思いますが、もう数回、頑張ってみるつもりがあるなら、私もお付き合いいたします。あまり、くだらないことを書くつもりはありませんが、もう少し、テクニック的なものが必要ですね。
こんなスタイルになるのでしょうか?
部署
--------
営業1課
営業1課
営業1課
営業1課
営業1課
営業2課 <- 一行、挿入して、ペースト
営業2課
営業2課
営業2課
No.1
- 回答日時:
こんばんは。
例えば、こんな風に書きます。
なお、マクロのご質問では、なるべくコードを出したほうが回答が付きやすいです。
そうしないと、製作依頼のように思われて、敬遠されてしまいます。
Sub Test1()
Dim myCrite As String
myCrite = Range("F1").Value
If myCrite <> "" Then
Range("A1").CurrentRegion.AutoFilter _
Field:=1, _
Criteria1:=myCrite, _
Operator:=xlOr, _
Criteria2:="="
End If
End Sub
お礼遅くなって申し訳ございません。解決いたしました。
どうもありがとうございました。
質問は、記入用から一覧表の部署毎の一番下に挿入できるようにマクロを組みましたがまだマクロ初心者で部署毎にマクロを作ったので一つにしようと
"Criteria1:="後に関数とか入れてみましたがだめだったので質問しました。コードは長いので以下一部をだします。
Sub 記入()
Sheets("一覧表").Select
Columns("D:G").Select
Selection.AutoFilter
Selection.AutoFilter Field:=4, Criteria1:="営業"
Range("G1").Select
Range(Selection, Selection.End(xlDown)).Select
Dim x1 As Integer, y1 As Integer
Dim z1 As Long
y1 = Range("A:A").Column
z1 = Range("G1").End(xlDown).Row
With ActiveSheet
For x1 = 1 To y1
Range(Cells(z1 + 1, x1), Cells(z1 + 1, x1)).Select
Selection.EntireRow.Insert
Sheets("記入用").Select
Range("A13").Select
Selection.Copy
Sheets("一覧表").Select
ActiveCell.Select
Selection.PasteSpecial Paste:=xlValues
Next x1
End With
Dim x2 As Integer, y2 As Integer
Dim z2 As Long
y2 = Range("B:B").Column
z2 = Range("G1").End(xlDown).Row
With ActiveSheet
For x2 = 2 To y2
Range(Cells(z2 + 1, x2), Cells(z2 + 1, x2)).Select
Sheets("記入用").Select
Range("B13").Select
Selection.Copy
Sheets("一覧表").Select
ActiveCell.Select
ActiveSheet.Paste
Selection.Font.ColorIndex = 0
Next x2
End With
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/20 09:22
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Excel(エクセル) エクセルのセル値に対応してマクロを実行する方法を教えてください セルA1が「1」の時にマクロ名「マク 2 2022/06/19 18:45
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
- Excel(エクセル) 指定値をマクロで検索&シート移動 2 2022/04/27 23:29
- Excel(エクセル) Excleマクロ セル値の代入と文字列の結合について 3 2022/10/05 16:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2営業日以内とはいつのことです...
-
ディーラーの営業に就職します★
-
原価+20%利益の計算のしかた
-
当期利益がマイナスの場合の決...
-
土日を除く3営業日以降の意味を...
-
“心やさしい人”は営業に向いて...
-
面接結果 1週間以内に連絡しま...
-
「朗報です。」とは、上からの...
-
超素朴な疑問なんですけど・・...
-
飲食店やサービス業経営で円満...
-
営業の断り方 ひとり事務員です...
-
ガールズバーの女の子からライ...
-
無口で寡黙な性格だか、トップ...
-
R-1の営業が来てよくわからず試...
-
代理でメールを送信する場合
-
銀行員の自宅訪問ってこんなもん?
-
営業1部を名刺の英文表記にする...
-
至急 居酒屋に未成年だけでいら...
-
枕営業された?
-
営業会社とは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2営業日以内とはいつのことです...
-
ガールズバーの女の子からライ...
-
ディーラーの営業に就職します★
-
当期利益がマイナスの場合の決...
-
“心やさしい人”は営業に向いて...
-
原価+20%利益の計算のしかた
-
面接結果 1週間以内に連絡しま...
-
至急 居酒屋に未成年だけでいら...
-
土日を除く3営業日以降の意味を...
-
超素朴な疑問なんですけど・・...
-
携帯ショップの呼び込みとか 街...
-
営業の対応について
-
ごめんねって言わず後から交換...
-
「朗報です。」とは、上からの...
-
飲食店やサービス業経営で円満...
-
1~2営業日っていつまでのこと?
-
キャバ嬢の彼女ですが、色恋営...
-
VBA Constの指定シートのセルを...
-
代理でメールを送信する場合
-
自社内で「営業さん」という言...
おすすめ情報