Excel - Bir aralığı ayarlamak ve otomatik doldurmak için bir makro

Konu

Excel için bir makro kaydettim ve kodun bir kısmı, B sütunundaki verilere dayanarak hücreyi bir satır sayısıyla (yani A2 = 1, A3 = 2, vb.) Dolduran bir dizin sütunu oluşturmaktır.

  • Makro kaydedildi ve mükemmel bir şekilde çalıştı, ancak başka bir dosyada kullanmaya çalıştığımda, makro bir sorunla karşılaşıyor çünkü her dosyada aynı miktarda doldurulmuş satır bulunmuyor.
  • Kaç tane veri satırı olduğuna bakılmaksızın açtığım herhangi bir Excel dosyasına ayarlamak için aşağıdaki kodu nasıl değiştirebilirim?

 Sütunlar ("A: A") .Seçim.Insert Shift: = xlToRight, CopyOrigin: = xlFormatFromLeftOrAbove Range ("A1") seçin. ActiveCell.FormulaR1C1 = "Index" Sütunlar'ı seçin ("B: B"). Sütunlar ("A: A") .Seçim Seçimi.PasteSpecial Paste: = xlPasteFormats, İşlem: = xlNone, _ SkipBlanks: = False, Transpose: = False Application.CutCopyMode = False Range ("A2"). ActiveCell.FormulaR1C1 = Seçin "1" Aralığı ("A3"). ActiveCell.FormulaR1C1 = "2" Aralığı ("A2: A3") seçin. Seçimi seçin. Otomatik Hedef Seçin: = Aralık ("A2: A295324") Aralık ("A2: A295324") .Select 

Çözüm

Aşağıdaki kodu deneyin:

 Alt test () Dim lRow Uzun Sütunlar Kadar ("A: A") .Seçim.Insert Shift: = xlToRight Range ("A1") seçin. Value = "Index" Range ("A2"). Değer = 1 Range (" A3 "). Değer = 2 Aralık (" A2: A3 "). LRow = Aralık (" B "ve Satır.Count) .End (xlUp) .Row Seçimi.AutoFill Hedef: = Aralık (" A2: A "& lRow) Son Alt 

Bu ipucu için TrowaD'a teşekkürler.

Önceki Makale Sonraki Makale

En Ipuçları