2016-03-31 13 views
1

İki sütun içeren excel'de uzun bir liste var. Her 26 satırda, kalan satırları daha aşağı iterek iki yeni satır eklemek istiyorum. eğer mümkünse Böylece temeldeExcel: Yeni satırları içeriğe sahip her x satırı bir forma göre ekle

26 ABC 
27 DEF 
28 GHI 

ve Buna ek olarak

26 ABC 
27 
28 
29 DEF 
30 GHI 

yapmak istiyorum, ben basit bir desene göre bu yeni hatlar metin koymak istiyorum:

1_sometext 
1_someothertext 

2_sometext 
2_someothertext 

"1_" ile başlayanlar satır 27 ve 28'e girer, "2_" ile başlayanlar satır 55 ve 56'ya gider ve sayı artar.

cevap

0

Her şey mümkündür. Sadece bu bir

Sub someSubForLazyGuy() 

    Dim currentSheet As Worksheet 
    Set currentSheet = Sheets("Sheet2") 

    Dim rowCounter As Long 
    Dim spaceCounter As Long 

    rowCounter = 27 
    spaceCounter = 1 
    With currentSheet 
     Do While .Cells(rowCounter, 1).Value <> "" 
      .Cells(rowCounter, 1).EntireRow.Insert 
      .Cells(rowCounter, 1).EntireRow.Insert 
      .Cells(rowCounter, 1).Value = spaceCounter & "_sometext" 
      .Cells(rowCounter + 1, 1).Value = spaceCounter & "_someothertext" 
      spaceCounter = spaceCounter + 1 
      rowCounter = rowCounter + 27 + 1 
     Loop 

    End With 
End Sub 

gibi görünmelidir bunun için VBA makro yazmak gerekir Ve sadece basit çalışır. Satırları döngü ve her 27 satırda 2 yeni satır eklersiniz. Daha sonra bu iki satırdaki sometext ve diğer metinlerinizi doldurun, satır sayacını 27 satır ve artı yeni satırınız için 1 ve sütundaki veri bulunana kadar doldurun ...

İlgili konular