ワークブックには、個別のワークブック(ワークブックごとに1つの価格グリッド)に分割する必要のある数百の価格グリッドが含まれています。ここで必要とされるVBAのレベルは、主題に関する私の基本的な知識を大きく上回っています。ダイナミック自動調整VBA範囲を使用してワークシートからワークブックを作成
+----------+------+------+------+------+------+ | Product1 | | 100 | 200 | 300 | 400 | | Product2 | 600 | 862 | 976 | 1024 | 1456 | | Product3 | 800 | 975 | 1076 | 1156 | 1287 | | Product4 | 1000 | 1076 | 1187 | 1245 | 1867 | | | 1200 | 1187 | 1294 | 1354 | | +----------+------+------+------+------+------+
私は、製品ごとにExcelファイル/ワークブックを行う必要があります。
各ワークシートには、空白行と空白列で区切られた様々なサイズのこれらのグリッドの数を持っています。各ワークブックの名前は列Aの製品名で、内容は列Aのない完全なグリッドでなければなりません。したがって、すべての数値だけです。各ワークブックはActiveWorkbook.Pathに保存することができます。この例では、Product1、Product2、Product3、Product4の4つのファイルが生成されます。各ファイルには、セルA1から始まる価格設定グリッドのみが含まれます。この例では、空の場合があります。
次のコードは、ワークシートの各価格グリッドブロックを選択しますが、データをループして製品名を抽出する方法がわかりません。この例の「Sheet1」と「A1」は、すべてのシートをループして各シートのすべてのブロックを見つける動的値である必要もあります。
Sub DynamicRange()
Dim sht As Worksheet
Dim StartCell As Range
Set sht = Worksheets("Sheet1")
Set StartCell = Range("A1")
StartCell.CurrentRegion.Select
End Sub
助けてください?
返信いただきありがとうございました。はい、明確にするために、データは空白行で区切られています。 – Cheryl
私が苦労しているのは、確かに、範囲を選ぶことです。この例のデータでは、価格設定グリッドが適用される製品は4つしかないので、空白行になると、特定のグリッドのワークブックの作成をやめ、次の空白行の次のグリッドまたは次のグリッドを選択する必要がありますシート。それはそれをより明確にしますか? – Cheryl
出力は次のような4つのファイルになります。+ -------- + ------- + -------- + --------- + - - ------- + | | 100 | 200 | 300 | 400 | | 600 | 862 | 976 | 1024 | 1456 | | 800 | 975 | 1076 | 1156 | 1287 | | 1000 | 1076 | 1187 | 1245 | 1867年| | 1200 | 1187 | 1294 | 1354 | | + -------- + ------- + -------- + --------- + -------- + – Cheryl