2011-07-22 19 views
0

これは簡単であると確信しているので、この時点で脳霧が発生しているはずです。このプロジェクトではもう少し複雑です。問題の特定範囲内のセルを特定のテキストに置き換える方法 - Excel VBScript

とにかく、私がやろうとしていること。私はシート(在庫データ)を持っていて、列1には会社名がリストされています。これはすべての行で同じです。つまり、1900ほどの行のそれぞれが最初のセルにcompanynameを持ちます。

ここで、各アプリケーションでデータは常に同じになりますが、行の数は変更されます。

したがって、最初にデータの最後の行が範囲内にあるかどうかを判断し、各レコードの列1のすべてのセルをname_companyに変更する関数が必要です。会社名は常に同じであるため、静的に割り当てることができます。ここで私はそれが動作しないものです。

私は別の方法で動作させることができましたが、ワークシートの最後の行に至るまでテキストを置き換えます。

ありがとうございます!

Sub changeCompany() 'Changes company name as pulled from Agemni into proper ETA format 

Dim myCell As Range 
Dim RngToChange As Range 'The range of cells that need to be changed 
Dim LastRow As Long 'Declare variable to help determine the last row on a variable length worksheet 
Dim i As Integer 

With Worksheets("inventory-data") 'set the range to change 
    Set RngToChange = .Columns(1) 
End With 

LastRow = Worksheets("inventory-data").UsedRange.Rows.Count 'Have Excel determine what the last row is. 

For i = LastRow To 1 Step -1 
    RngToChange.Cells.Value = "name_company" 
Next i 

End Subの

答えて

0

私はいつも[SomeCellOrRange]でより多くの成功を収めてきました。 .Rows.Count例えばCurrentRegion

Range("A1").CurrentRegion.Rows.Count 

UsedRangeは、連続的な表形式のブロックに限定されるものではなく、細胞の任意の使用を探します。いくつかの行を削除した後でも正しく縮小される前に、ブックを再度保存する必要があることがあります。

+0

これは私が思っていたよりも簡単だったよ。私はそれを完璧に働かせるために次のことをしました。 サブchangeCompany()「の変更の会社名 薄暗いRngToChangeとしてレンジ」ワークシート( 『在庫データ』)で を変更する必要があるセルの範囲は、「( 設定RngToChange = .Columnsを変更する範囲を設定します RngToChange.Replace何をして1) 終了:= "acshomeentertainment"、交換:= "dish_acs"、_ ルックアット:= xlPart、SearchOrder:= xlByRows、MatchCase:= Falseの、SearchFormat:= _ 偽、ReplaceFormat: = False End Sub –

関連する問題