別のExcelファイルからシートのセルを開いてコピーしようとしています。私は必要なExcelファイルを開いたりコピーしたり閉じたりするのに問題ありません。この場合、私はWith x.Sheets("Documents").UsedRange
です。セルをコピーするために必要なほとんどのファイルには、シート名として「ドキュメント」がありますが、「ドキュメント」+別の異なる文字(「DocuemntsEX」など)を持つものがあります。コピーしようとすると、「DocumentEX」と「Document」が異なるため、「Subscript Out-of-range」が表示されます。ほとんどのファイルにその名前が付いているので、シートの特定の名前を保持できる方法はありますか?異なるシート名のシートにアクセスするのに役立つコードはありますか?あなたが明確化を必要とするなら、ちょうど私を打つ。ほとんど同じ名前のシート
答えて
最初のシートを得るために、ワイルドカード文字を使用する:あなたのコードで
Function GetDocumentSheet(ByRef wb As Workbook) As Worksheet
For Each ws In wb.Sheets
If LCase$(ws.Name) Like "documents*" Then
Set GetDocumentSheet = ws
GoTo SheetFound:
End If
Next
Set GetDocumentSheet = Nothing
SheetFound:
End Function
を:
Set mySheet = GetDocumentSheet(x) '// where 'x' is your workbook object
その後、シートは同じインデックスにある場合、あなたが使用することができます
mySheet.UsedRange
は、 'Lcase'や' Ucase'や 'option compare text'を使って大文字小文字を区別しない方が良いでしょう。 'Lcase(ws.Name)"ドキュメント* "と似ていますが、そうでなければ何らかの問題があるかもしれません。 – Vasily
@Vasily良いアイデアは、*** ***常に起こるのを待っているエラーです... –
私がコメントで言ったように、あなたは数でシートを使用することができ、またはあなたが文字列と正規の文字にシート名を比較するときは、この
Sub findSheet()
Dim sheetSubName As String
sheetSubName = "fluff"
Dim currentSheet As Worksheet
For Each currentSheet In Sheets
If currentSheet.Name Like sheetSubName & "*" Then
MsgBox "do some stuff"
End If
Next currentSheet
End Sub
のようなものを使用することができます(私の例では*その何でもそうは) 。したがって、このマクロはシートの毛羽立ちやふわふわのふわふわしたもので動作します。(すべてブック内のシート)でループし、その名前をLike
(=など)で比較しますが、いくつかの基本正規表現を使用できます。
- 1. GitHubはほとんど同じ名前の2つのフォルダをマージします
- 2. Excelシートの同じ名前のタブの名前を変更
- 3. ほとんど同じ文字列名を得る
- 4. ほとんど同じURL(HTTP、HTTPS)の数が同じです
- 5. リンクExcelセルを同じ名前のシートにリダイレクト
- 6. 同じ名前
- 7. .TXTファイルの値の差がほとんどないほぼ同じSQLコードブロック
- 8. PHP ORMはNHibernateとほとんど同じですか?
- 9. ほとんど同じデータの結合表
- 10. 2つのほとんど同じコンストラクタを扱う方法
- 11. VBA Excelのカウント同じシート名Occurences
- 12. は、同じ名前
- 13. が同じ名前
- 14. 同じ名前が
- 15. C++はほとんど同じコードを出力します
- 16. .htaccessのmod_rewriteのサブディレクトリと同じ名前
- 17. 名前がbashのディレクトリと同じ名前のファイルを開く
- 18. Alfrescoと同じ名前の更新
- 19. 同じ名前のテンプレートとSmarty
- 20. Identityserver4同じ名前のApiResourceとIdentityResource
- 21. 同じ行と列の名前R
- 22. 同じ名前の関数と変数
- 23. Excel.Workbook.SaveAs(...)同じ名前のファイル
- 24. 同じ名前のMatlab Array
- 25. typedefと同じスコープで同じ名前の宣言を使用
- 26. 同じIDと同じ年齢の名前を特定する
- 27. DIV IDと同じ名前の名前付きアンカー(A)
- 28. 同じシート名:シートが一致する場合にコピー&ペースト
- 29. UIScrollViewは同じビューコントローラ内でほとんど同じものがスクロールしません
- 30. 同じ名前の関数を同じ名前のパッケージからインポートする
を参照'Sheets(" sheetNumber ")'(without ""なので、Sheets(2) –
'ちょうどあなたが説明を必要とするならば私を打つ.'絶対に10 0%は説明が必要です。 –