Her 3 satırı Excel'de bir sütuna taşıyın


2

Lütfen senin yardımına ihtiyacım var. Her 3 satırı da yeni bir sütuna taşımam gerekiyor. Diyelim ki şunu aldım:

Ambassade de France
S.E. M. Patrice PAOLI
01-420000-420150

Ambassade de France
Mme.  Jamilé Anan
01-420000-420150

Ambassade de France
Mme . Marie Maamari
01-420000-420150

Böyle olmalarına ihtiyacım var:

Ambassade de France      S.E. M. Patrice PAOLI          01-420000-420150
Ambassade de France      Mme.  Jamilé Anan              01-420000-420150
Ambassade de France      Mme . Marie Maamari            01-420000-420150

Bende bu kod var. Bana yardım eder misin lütfen? Bana hata veriyor. Menzil dışında. Neyi değiştirmeliyim? (Kod her 7 için, her 3 için ihtiyacım var)

Sub Every7()
    Dim i As Integer, j As Integer, cl As Range
    Dim myarray(100, 6) As Integer 'I don't know what your data is.  Mine is integer data
    'Change 100 to however many rows you have in your original data, divided by seven, round up
    'remember arrays start at zero, so 6 really is 7

    If MsgBox("Is your entire data selected?", vbYesNo, "Data selected?") <> vbYes Then
        MsgBox ("First select all your data")
    End If

    'Read data into array
    For Each cl In Selection.Cells
        Debug.Print cl.Value
        myarray(i, j) = cl.Value
        If j = 6 Then
            i = i + 1
            j = 0
        Else
            j = j + 1
        End If
    Next

    'Now paste the array for your data into a new worksheet
    Worksheets.Add
    Range(Cells(1, 1), Cells(101, 7)) = myarray
End Sub

Harika bir soru, beklenen sonucu göstermenin iyi kullanılması.
Dave

Yanıtlar:


1

Bunu dene:

  1. "6" numarasını "2" ile değiştirin ve
  2. Kodunuzdaki "7" sayısını "3" ile değiştirin.

Not: Dim myarray(100, 2) - Bu satırdaki 100, sahip olduğunuz toplam satır sayısıdır. 50 satır varsa (varsayalım), sonra 50 olarak değiştirin.


Uyuşmazlık 13 yazın. Hata bu satırda: myarray (i, j) = cl.Value. Diziyi dizeye değiştirmeye çalıştım. Eğer j = 6 ise, i = i + 1 j = 0 ise bu 46'ya gitti.
Eliane El Asmr

İşe yaradı. Türü tamsayıdan dize olarak değiştirmek zorunda kaldı. ve hala bana daha önce verdiğim hataları verdi. Ama ben istenen formda excel vardı :)
Eliane El Asmr

@ElianeElAsmr, eğer yardımcı olduysa, lütfen diğerlerinin görebilmesi için lütfen bir cevap olarak işaretleyin.
Dave

Yanıt olarak nasıl işaretlerim? : p Buraya ilk defa geliyorum
Eliane El Asmr

cevabımın sol tarafına bakın, iki üçgen var, farenizi ikinci üçgen sembolünün altına getirin.
Ĭsααc tիε βöss
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.