0

まず、私はこれに慣れていないので、私が無知であると思われる場合、または私の要求が適切にフォーマットされていない場合は、私を許してください。

ERPシステムからエクスポートされたスプレッドシートがあります。列Aには、部品番号とそれに続くさまざまな数の空白行が含まれています(行数は、列BからHにあるデータの量によって異なります)。

私がする必要があるのは、部品番号を含む列Aの最初のセルから始まり、次の部品番号を含む列Aのセルの前の最後の空白セルまでの範囲に名前を付けることです。たとえば、A11に2番目の部品番号が含まれている場合はA1:H10。

次に、コードをループして、パーツ番号2からパーツ番号3の上の空白セルまでのデータ範囲に名前を付け、シートのすぐ下に名前を付けます(約2000の入力行と150〜200のPNが含まれます)。

残りの部分はコーディングできると確信しています。適切な行数を選択する方法がわかりません。

アドバイスをいただければ幸いです。

ありがとう

ピート

4

1 に答える 1

1

あなたが書いたものについて私が理解していることに基づいて、私は少なくともあなたを正しい方向に動かすはずのこの短い潜水艦を思いついた:

Sub test()

Dim FirstCell As Range
Dim TargetRange As Range
Dim NameCounter As Integer

Set FirstCell = Range("A1")
NameCounter = 1

  Do
     Set TargetRange = Range(FirstCell, FirstCell.End(xlDown).Offset(-1, 7))
     TargetRange.Name = "Name_" & NameCounter
     Set FirstCell = FirstCell.End(xlDown)
     NameCounter = NameCounter + 1
  Loop Until FirstCell.Row > 1000000

End Sub

あなたが求めていた主要な部分Set TargetRange = Range(FirstCell, FirstCell.End(xlDown).Offset(-1, 7))

お役に立てば幸い

于 2013-01-02T23:09:44.467 に答える