
お世話になります。
ユーザーフォームに期間を入力し、オートフィルタから可視セル
をコピペしようと試みたのですが、貼り付け先が結合セルのため
うまく出来ません。可視セルをひとつずつ貼り付けるしかないのでしょうか?
仮にセルを一つずつ貼り付ける場合はどのようにコードを
書いたらよいでしょうか?
以下コード
Private Sub CommandButton1_Click()
Dim 開始日 As Date
Dim 終了日 As Date
条件 = Worksheets("sheet2").Range("C6")
場所 = Worksheets("sheet2").Range("A21")
開始日 = TextBox1
終了日 = TextBox2
If Worksheets("sheet1").AutoFilterMode Then
Worksheets("sheet1").AutoFilterMode = False
End If
ScreenUpdating = False
With Sheets("sheet1")
.Range("A5").AutoFilter Field:=2, Criteria1:=">=" & TextBox1, Operator:=xlAnd, _
Criteria2:="<=" & TextBox2 '条件日付
.Range("A5").AutoFilter Field:=13, Criteria1:="=" & 条件, Operator:=xlAnd '条件
End With
Range("A5").Select
Range("A5:X1000").Sort Key1:=Range("A5"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, DataOption1:=xlSortNormal
Worksheets("sheet1").Range("A5").CurrentRegion.SpecialCells (xlCellTypeVisible)
.Copy
Worksheets("sheet2").Range("A21").Offset(-1.1).PasteSpecial , Paste:=xlPasteValues
Range("C6").Select
Application.CutCopyMode = False
Worksheets("sheet1").AutoFilterMode = False
ScreenUpdating = True
End Sub
No.1ベストアンサー
- 回答日時:
単純にセル結合を解除してコピー、もう一度結合しなおし、
じゃダメなんですか?
多分そのほうが速度も速いんじゃないかと。
SpecialCells で引っ張ってきたセルを一つ一ついじるのは
結構面倒な処理なんで。
この回答への補足
早速の回答ありがとうございます。
いろいろ探してみたのですが、SpecialCellsでコピペの際に
個別のセルを扱うなんてことは見つかりませんでした。
貼り付けるセルの個数は200~1500になります。
貼り付け先を変えるのが早いですね。
ちなみに、for~nextやdo~loopを使うのが面倒になるということで
しょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じ数値だったら、横の数値を...
-
エクセル関数CONCATENATEで0が...
-
Excelで表を作り、自動で今月の...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
IF関数で0より大きい数値が入力...
-
お肉の下のシートを煮込んでし...
-
複数の文字列のいずれかが含ま...
-
エクセルのセルが縦方向にのびる
-
A1セルに入力したら、入力時間...
-
エクセルの複数のセルを一括で...
-
エクセルを利用して、日計と累...
-
【Excel】セル内の時間帯が特定...
-
エクセル:コメントのようなも...
-
エクセルでセルに何も入力して...
-
excelでSUBTOTAL関数を設定した...
-
エクセルで1列に500行並んだデ...
-
Excelで社歴管理をしており4年...
-
エクセルでフィルターした値を...
-
エクセルの曜日表示が正しく表...
-
エクセルのセル内でタブキーの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じ数値だったら、横の数値を...
-
エクセル関数CONCATENATEで0が...
-
111,222,333・・・とオートフィ...
-
EXCEL 二つずつ連続して表示し...
-
シート順のオートフィルの設定...
-
【Excel 関数】 INDIRECT関数の...
-
Excelで離れたセルに連続したデ...
-
エクセルで1行ごとに異なる計算...
-
スプレッドシートのIMPORTRANGE...
-
Excelで2つの表を1つにまとめ...
-
エクセル SUMPRODUCT と OFFSET
-
連続するシートを一つにまとめ...
-
エクセルで画像のハイパーリン...
-
Excelで別シートの表から指定セ...
-
エクセル オートフィルオプション
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
Excelで表を作り、自動で今月の...
-
A1セルに入力したら、入力時間...
-
複数の文字列のいずれかが含ま...
-
エクセルの複数のセルを一括で...
おすすめ情報