Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


49953 / 76737 ←次へ | 前へ→

【31681】Re:フォルダ内の資料を全て開いて閉じる...
回答  こたつねこ  - 05/11/28(月) 13:37 -

引用なし
パスワード
   まいさん、ちくたくさん、こんにちわ。

ちくたくさんではありませんが、レスついてないようですので

Sub フォルダをひらいて()

  Dim myFo As String
  Dim fileStr As String
  Dim myWb As Workbook, newWb As Workbook
  Dim myData As Variant
  Dim i As Integer, j As Integer, k As Integer
  
  'ここから追加
  Dim wData(1 To 23) As Variant
  Dim l As Long
  'ここまで追加
  
  myFo = "C:\Test"  'フォルダのパス
  fileStr = Dir(myFo & "\", vbNormal)
  Set newWb = Workbooks.Add
  k = 1

  Do While fileStr <> ""
    Set myWb = Workbooks.Open(myFo & "\" & fileStr)
      myData = _
      Range("A1:W" & myWb.ActiveSheet.Range("A65536").End(xlUp).Row)
      For i = 1 To UBound(myData, 1)
        For j = 1 To 23
          If myData(i, j) = "検索文字列" Then  '検索文字列を入力
            
            'ここから追加
            For l = 1 To 23
              wData(l) = myData(i, l)
            Next
            'ここまで追加
            
            'ここは変更
            newWb.ActiveSheet.Range("A" & k & ":W" & k).Value = wData
            'newWb.ActiveSheet.Rows(k) = myData
            k = k + 1
          End If
        Next j
      Next i
   
    myWb.Close
    fileStr = Dir
  Loop

End Sub

で、どうでしょうか?

>> myData = Range("A1:W" & myWb.ActiveSheet.Range("A65536").End(xlUp).Row)
>この命令はA1の行にある1行を取得ということでしょうか?
>A65536はA列〜どこまでの列を指定するかによって変わるのでしょうか?    

myWb.ActiveSheet.Range("A65536").End(xlUp).Row
これは、キー操作で言うと
A65536のセルを選択しCtrl+カーソルキーの上を押す操作と同じです。
A列の最後の行を取得します。
仮にA50まで入力があったとした場合、A1:W50の範囲をmyDataにセットしています。

>
>>    For i = 1 To UBound(myData, 1)
>>      For j = 1 To 23
>>        If myData(i, j) = "検索文字列" Then   '検索文字列を入力
>>          newWb.ActiveSheet.Rows(k) = myData
>>          k = k + 1
>>          End If
>>       Next j
>>    Next i
>上記は検索文字列を引っ張るということですよね?

こちらは、その意図で組まれているようですが、
ちくたくさん余程急いでいたようですね。

このコードはA列からW列まで総当りで検索されていますので、
仮に"あ"と言う値を検索しようとした場合で、B15とD30に
"あ"という値が入力されていた場合は、両方とも抽出されます。
0 hits

【31560】フォルダ内の資料を全て開いて閉じる方法 まい 05/11/25(金) 15:35 質問
【31562】Re:フォルダ内の資料を全て開いて閉じる方法 Kein 05/11/25(金) 15:46 回答
【31563】Re:フォルダ内の資料を全て開いて閉じる方法 ちくたく 05/11/25(金) 15:48 回答
【31564】Re:フォルダ内の資料を全て開いて閉じる... まい 05/11/25(金) 16:11 質問
【31566】Re:フォルダ内の資料を全て開いて閉じる... ちくたく 05/11/25(金) 16:42 回答
【31600】Re:フォルダ内の資料を全て開いて閉じる... まい 05/11/26(土) 12:14 質問
【31681】Re:フォルダ内の資料を全て開いて閉じる... こたつねこ 05/11/28(月) 13:37 回答
【31687】Re:フォルダ内の資料を全て開いて閉じる... ちくたく 05/11/28(月) 15:09 お礼
【31689】Re:フォルダ内の資料を全て開いて閉じる... こたつねこ 05/11/28(月) 16:04 発言
【31688】Re:フォルダ内の資料を全て開いて閉じる... こたつねこ 05/11/28(月) 15:12 回答

49953 / 76737 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free