İlk olarak, okuma ve sunulan yardım için teşekkürler.Excel'de bir satırdan diğerine birkaç satır kopyalamak için kod
Burada temel olarak clueless değilim. Son birkaç günü, ne yapmak istediğimi kodlamayı öğrenmek için harcadım ve açık bir şekilde açıklamaya çalışacağım.
Çalışma kitabımın çok sayıda kağıdı var, ancak bunlardan sadece ikisi ilgiyle ilgili: Schedule & Shift.
Zamanlamada, bir sütunda çalışanların adını (sütun A), baş harflerini (B), çalışan sayısını (C), vardiyalarını (D) ve vardiya saatlerini içeren 17 sütun ve 40-100 satır vardır. E - vlookup ile başka bir sayfaya iade edilir).
Temel olarak, bu 5 sütunun her birinden verileri "A3" den başlayarak ÜstKrktr sayfasına kopyalayan bir düğme istiyorum ve satırları adlarına göre boş bir alana ulaşıncaya kadar Satır öğesinde kopyalamaya devam edeceğim sütun A).
Şimdiye kadar, ben ilk satır ve aşağıdaki kodla ikinci satır kopyalama idare ettik: aslında ben ötesinde istediğini
Private Sub CommandButton1_Click()
Dim i As Integer, IntName As String, IntInit As String, IntID As Integer, Shift As String, Hours As Integer
Worksheets("Schedule").Select
i = 1
IntName = Range("a4")
IntInit = Range("b4")
IntID = Range("C4")
Shift = Range("D4")
Hours = Range("E4")
Do While i < 5
Worksheets("Shift").Select
Worksheets("Shift").Range("a2").Select
If Worksheets("Shift").Range("a2").Offset(1, 0) <> "" Then
Worksheets("Shift").Range("a2").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = IntName
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = IntInit
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = IntID
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Shift
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Hours
Worksheets("Schedule").Select
IntName = Worksheets("Schedule").Range("a4").Offset(1, 0)
IntInit = Worksheets("Schedule").Range("b4").Offset(1, 0)
IntID = Worksheets("Schedule").Range("c4").Offset(1, 0)
Shift = Worksheets("Schedule").Range("d4").Offset(1, 0)
Hours = Worksheets("Schedule").Range("e4").Offset(1, 0)
i = i + 1
Loop
End Sub
Açıkçası, bu aksak ve yapmaz Döngüden ikinci kez.
Doğru yönde hareket etmeme yardımcı olacak herhangi bir öneri veya işaretçi var mı?
Tekrar teşekkürler.
Hızlı bir not, ben ** derece ** [kullanmaktan kaçınmak için nasıl '.Select'] (http de incelemenizi öneririz: //stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros). Birçok baş ağrısını kurtarabilir ve döngülerle anlamanıza yardımcı olabilir. – BruceWayne