[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オートフィルタとチェックボックス』(まちろん)
エクセルマクロにて
下記のような表があります。
□あいうえお
☑かきくけこ
□さしすせそ
☑たちつてと
チェックボックスにチェックをつけた列のデータを別シートに
転記したいです。
表のデータが膨大なので、オートフィルタで該当する条件のデータを
絞り込んでチェックをつけて、転記というようにしたいのですが、
オートフィルタで絞り込むとチェックボックスがセルに固定されず
ずれてしまいます。
フォームコントロールで作成したチェックボックスを
セルに固定してオートフィルタをかけることはできますでしょうか?
< 使用 Excel:Excel2007、使用 OS:Windows7 >
(隠居じーさん) 2018/09/29(土) 15:26
(隠居じーさん) 2018/09/29(土) 15:33
例えば、後から あいうえおはチェックをつけていたかな?
というのを調べたいときにオートフィルタで検索できるようにしたいです。
(まちろん) 2018/09/29(土) 15:36
>今、先にチェックボックスにチェックをつけて
>別シートに転記するところまではマクロで
>作成してしまっていて
(マナ) 2018/09/29(土) 15:54
Sub transferBychkbox()
Sheets("受注一覧").Rows("3:" & Rows.Count).Clear
Dim i As Long, j As Long, k As Long j = 3 'jは元データ(転記したいデータ)の最初の行(1行目はタイトル行のため2行目から指定) k = 3 'kは転記先の最初の行(1行目はタイトルがあるので2行目から指定)
With ActiveSheet
j = j - 1 For i = 1 To .CheckBoxes.Count If .CheckBoxes(i) = xlOn Then .Cells(j + i, 2).Resize(, 4).Copy Worksheets("受注一覧").Cells(k, 1) k = k + 1 '.Cells(j + i, 2)の2は元データの最初の列(座標表示(縦(行)、横(列)) End If Next End With End Sub '// (まちろん) 2018/09/29(土) 16:10
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column > 1 Then Exit Sub If Target.Row > 3 Then Exit Sub
Cancel = True
If Target.Value = ChrW(9745) Then Target.Value = "□" Else Target.Value = ChrW(9745) End If
End Sub
Sub transferBychkbox2() Dim wsS As Worksheet Dim wsD As Worksheet
Set wsS = Worksheets("全データ") Set wsD = Worksheets("受注一覧")
wsD.UsedRange.Clear
With wsS.Range("A2").CurrentRegion .AutoFilter .AutoFilter 1, ChrW(9745) If .Columns(1).SpecialCells(xlCellTypeVisible).Count > 1 Then .Columns("B:E").Copy wsD.Range("A1") End If .AutoFilter End With
End Sub
(マナ) 2018/09/29(土) 16:50
の間違いでした
(マナ) 2018/09/29(土) 16:56
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.