2017-09-16 1 views
0

親愛なるStackOverflowのユーザーに名前をコピーします。VBA Excelは、私は、このセルが空白の場合は常に、左のセルから名前をコピーする必要がありますいくつかのコードを、作っ</p> <p>、セルから左

問題は、コードが1行目で実行されることだけです。 コードを実行すると、ワークシート全体がループします。

それだけで事前に行1

Sub Test() 

Dim LastCol As Integer 
Dim WS As ActiveSheet 

With WS 
    LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column 
End With 

    For i = 2 To LastCol 
      If WS.Cells(1, i) = Empty Then 
       WS.Cells(1, i).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=RC[-1]" 
      End If 
    Next i 

End Sub 

感謝のためのアクションを実行するように、どのように私は、それを変更することができます!

答えて

3

以下のコードは、最初の行のセルが最後の列まで空の場合、セルから左側にテキストをコピーします。

Sub Test() 
    Dim LastCol As Integer 
    Dim WS As Worksheet 

    Set WS = ThisWorkbook.Sheets("Sheet3") 'change Sheet3 to your data sheet 

    With WS 
     LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column 
     For i = 2 To LastCol 
      If IsEmpty(.Cells(1, i)) Then 
       .Cells(1, i).Value = .Cells(1, i).Offset(0, -1).Value 
      End If 
     Next i 
    End With 
End Sub 
+1

コードは美しく見え、魅力的です。私はすでに 'set WS'でコードを更新したいと思っていましたが、すでにそれを見つけました。 Thnxたくさん! – Dubblej

関連する問題