[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『特定セルの取得』(はりー)
一つのフォルダにたくさんのエクセルファイルがあるのですが(おおよそ600)
そのエクセルファイルの特定セルをマクロを使用して取得できないかと考えております。いろいろサイト
を見ながらマクロを作成してはみたのですが、うまくいきません・・・
大変申し訳ありませんが、お知恵を拝借、ご教授いただければ幸いです。
特定セルはB2,B3、E2、最終行のI列のセルです
最終行I列のセルは、A列は空白セルは基本的にはなく連続数値です
また、最終行I列のセル値は、計算で求めているもので私がつくったものでは#REFと表示されてしまい、、、うまくいきません。
< 使用 Excel:Excel2019、使用 OS:Windows10 >
(確認) 2022/11/25(金) 17:41:48
=COUNTA('C:\Users\user\Desktop\[特定ファイル]特定シート'!I:I)
とか書けばいいんじゃないですかね。
あ、「最終行のI列のセル」の意味が解りませんが。
(楽) 2022/11/25(金) 17:48:28
すみません
Sub フォルダ内のエクセルから特定セルを抽出()
Dim path, fso, file, files
Dim Wb As Workbook
Dim LastRow_Wb As Long
Dim Ws As Worksheet
Dim i As Long
Set Wb = ActiveWorkbook
path = "C:パス"
Set fso = CreateObject("Scripting.FileSystemObject") Set files = fso.GetFolder(path).files
LastRow_Wb = 1
Application.ScreenUpdating = False
For Each file In files
If fso.GetExtensionName(file) = "xlsm" Then
Workbooks.Open (file)
For Each Ws In Worksheets
If Ws.Name = "在庫管理1" Then
Ws.Cells(Rows.Count, 9).End(xlUp).Row
Wb.ActiveSheet.Cells(LastRow_Wb, 7) = file.Name
LastRow_Wb = LastRow_Wb + 1
GoTo MyJump
End If Next Ws MyJump:
Application.DisplayAlerts = False ActiveWindow.Close Application.DisplayAlerts = True End If Next file
Application.ScreenUpdating = True
End Sub
(はりー) 2022/11/25(金) 17:57:59
行数はファイルによって異なります。
最終行、I列にあるセルという意味です。
言葉足らずで申し訳ありません。
(はりー) 2022/11/25(金) 17:59:33
これで使っているセルの個数が解ります。
空白無しにられつされているという事なので
I列の使ったセルの個数が100とすれば
I100が最後のセルと言う事でした。
(楽) 2022/11/25(金) 18:23:34
Sub フォルダ内のエクセルから特定セルを抽出() Dim path As String Dim fso As Object, file As Object, files As Object Dim thisSh As Worksheet Dim r As Long
Dim Wb As Workbook Dim Ws As Worksheet
Application.ScreenUpdating = False
Set thisSh = ThisWorkbook.Worksheets(1) '結果書き込みシート
path = "パス" Set fso = CreateObject("Scripting.FileSystemObject") Set files = fso.GetFolder(path).files
r = 1 For Each file In files If fso.GetExtensionName(file) = "xlsm" Then Set Wb = Workbooks.Open(file) For Each Ws In Wb.Worksheets If Ws.Name = "在庫管理1" Then thisSh.Cells(r, 1) = file.Name thisSh.Cells(r, 2) = Ws.Cells(Rows.Count, "I").End(xlUp).Value 'その他のセルの値も追記(省略) r = r + 1 Exit For End If Next Ws
Application.DisplayAlerts = False Wb.Close Application.DisplayAlerts = True End If Next file
Application.ScreenUpdating = True End Sub
(確認) 2022/11/25(金) 19:58:51
色々試してみます。
(はりー) 2022/11/25(金) 22:57:06
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.