2016-02-16 17 views
5

セルから最初の3文字を分割し、別のセルに別の文字列として挿入するのには苦労します。VBA - 文字列から最初の3文字を別のセルにコピーする

マイ(例)入力:

A 

A123456 
A133457 
B123456 
B133457 
... 

私が欲しいもの:

私が試した何
A   B 
A123456  A12 
A133457  A13 
B123456  B12 
B133457  B13 
...   ... 

Dim ws As Worksheet 
Dim cell As Range 

Set ws = Worksheets("summary") 

For Each cell In ws.Range("A").Cells 
    cell.Value = Left(cell.Value, 3) 
    Next cell 

私は上書きしたいので、これは動作しないことができます私がしたくないすべてのセルAの値。助けてもらえますか?あなたは次の操作を行うことができ、VBAで = LEFT(A1,3)

:VBAのない

Excelで

答えて

8

は、あなたが式を使用することができ、私は範囲を修正している

For Each cell In ws.Range("A:A").Cells 
    cell.Offset(0, 1).Value = Left(cell.Value, 3) 
Next cell 

注意を。あなたはおそらく "A:A"がしばらく時間がかかるように制限したいと思うでしょう。

オフセット機能は、「現在のセルの右にセル1を使用する」と表示します。

+0

ありがとうございます。この例では、新しい値には正しいセルが必要だと言いましたが、左のセルが必要です(セルAのすべての値はセルBにあり、カットされた値はセルAに入ります)。私が何を意味するのかご理解いただきたいと思います。これどうやってするの? – KevinD

+2

@KevinD A列の左に列を挿入し、VBAまたはワークシートの数式の答えに応じて、 –

+1

式を入力します。LEFT(B1,3) VBA: 各セルにws.Range( " B:B ")。セル cell.Offset(0、-1).Value =左(cell.Value、3) 次のセル – GinjaNinja

関連する問題