2016-04-01 29 views
-2

VBA Excel'de yeniyim.Excel VBA, hücreden önceki değerlere göre boş hücreleri doldurmak için

Hücredeki tüm boş satırlardaki belirli bir değeri başka bir hücredeki değerlere göre doldurmak için bir excel makrosu üzerinde çalışıyorum.

blank1 blank2 blank3 AR blank4 blank5 DP blank6 blank 7 AR blank8 blank9 DP blank10 bl1nk11 

Ben

"DP" den önce AR "OV" ile doldurulacak önce tüm boşlukları ve tüm boş hücreleri "OS" ile doldurulmalıdır istiyorum: Örneğin

Say, biz bir satırda var

Lütfen bana yardımcı olun, büyük koduma entegre edebileceksiniz.

Teşekkürler.

+0

Hangi kodunuz var? Onun problemi nedir? StackOverflow size sorunlarda yardımcı olmak için burada, ücretsiz bir kod yazma hizmeti olarak burada değil. VBA'nın belirli bir bölümünü anlamadıysanız, sorunuzu bu konuya odaklamak en iyisidir. Örneğin. "Metni bir dizede farklı bir metinle nasıl değiştiririm?" –

cevap

1

Normalde şimdiye kadar yaptığınız şeyi yayınlamayı seviyoruz, ancak bunu kodlayabiliyor olsaydım merak ettim. Yani! Bunu dene. Bunu birden çok satır üzerinde yapmanız gerekiyorsa, yalnızca başka bir döngü ekleyebilir ve 1'i bir değişkeni değiştirebilirsiniz. Bu yardımcı olur umarım!

Option Explicit 

Sub FillEmpty() 

    Dim ws As Worksheet 
    Dim myRange As Range 
    Dim lColumn As Long 
    Dim x As Integer 

    Set ws = Worksheets("Sheet1") 

    'Find the last column that contains data 
    lColumn = ws.Cells.Find(What:="*", _ 
     After:=ws.Cells(1, 1), _ 
     LookAt:=xlPart, _ 
     LookIn:=xlFormulas, _ 
     SearchOrder:=xlByColumns, _ 
     SearchDirection:=xlPrevious, _ 
     MatchCase:=False).Column 

    With ws 
     For x = lColumn To 2 Step -1 
      If .Cells(1, x) = "AR" Then 
       .Cells(1, x - 1).Value = "OV" 
      ElseIf .Cells(1, x) = "DP" Then 
       .Cells(1, x - 1).Value = "OS" 
      ElseIf .Cells(1, x).Value <> "" And .Cells(1, x - 1).Value = "" Then 
       .Cells(1, x - 1).Value = .Cells(1, x).Value 
      End If 
     Next x 
    End With 
End Sub 
+0

Bunun için teşekkürler. Büyü gibi çalıştı. Şimdiye kadar yapılan işi yüklemediğim için özür dilerim. Bu, katıldığımdan beri StackOverflow'u ilk defa kullanıyorum. – FORT