質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

解決済

Excel VBAで非表示の行以外を別シートに貼り付けたい

kou----
kou----

総合スコア11

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

1回答

0評価

0クリップ

222閲覧

投稿2022/01/17 01:47

Excel VBAでの質問です

検索ワードを入力してデータをフィルターで絞り込み、絞り込んだ結果を配列に入れて別シートにコピペするマクロを組みました。

正常に動作していたのですが、突然絞り込んだデータだけではなく、絞り込んだデータの最終行までコピペされてしまうようになりました。

また、F8で動作させると正常に動作します。

ifが正常に動作していないのではないかと思っていますが、なぜそうなるのかが全く分かりません

解決方法がお分かりの方がいらっしゃいましたら、ご助力いただけますと幸いです。

以下、該当部分のVBAコードです。

Dim rng_filterd As Range Set rng_filterd = wsd.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible) '検索件数を数える If rng_filterd.Count - 1 > 0 Then hj = wsd.Cells(Rows.Count, 7).End(xlUp).Row hcount = 1 ReDim haihai(1 To hj, 1 To 9) For hl = 1 To 9 hcount = 1 'カウントリセット If hl = 1 Then hcell = 7 ElseIf hl = 2 Then hcell = 4 ElseIf hl = 3 Then hcell = 13 ElseIf hl = 4 Then hcell = 29 ElseIf hl = 5 Then hcell = 19 ElseIf hl = 6 Then hcell = 14 ElseIf hl = 7 Then hcell = 20 ElseIf hl = 8 Then hcell = 27 ElseIf hl = 9 Then hcell = 48 End If For hi = 7 To hj If Rows(hi).Hidden = False Then haihai(hcount, hl) = wsd.Cells(hi, hcell).Text hcount = hcount + 1 End If Next Next wss.Range("B7" & ":" & "J" & hj) = haihai 'ペースト LastRow1 = wss.Cells(Rows.Count, 2).End(xlUp).Row '最後の行を取得 For i = 7 To LastRow1 '偶数行に色塗り If i Mod 2 = 0 Then With wss.Range("B" & i & ":" & "J" & i).Interior .ThemeColor = xlThemeColorDark2 .TintAndShade = 0 End With End If Next Else MsgBox "検索結果が見つかりませんでした" End If

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。