0
다양한 예제를 살펴 보았지만 필자의 필요와 일치하지 않습니다. 여러 셀을 기반으로 시트를 채워야합니다. 예를 들어, Sheet 1 C5 셀의 경우 값 2를 가졌고 c6의 값은 5 였고 C7의 경우 8을 가졌습니다. 시트 2에서 "e001, e002"로 열을 만들고 그 후 세포 a3에서 "E101, .... E105"그리고 나서 "E401 .... E408" vba를 사용하지 않는다면 더 좋을 것입니다. EXcel의 다른 시트에있는 입력을 기반으로 행 채우기
내가 작성하지만 내 기대에 작동하지 않는 한 코드이다.Public Sub InsertTagNumbers()
Dim ehv_breaker As Long
Dim row_no As Long
Dim breaker11kv As Long
Dim breaker33kv As Long
Dim breaker415V As Long
Dim breaker415E As Long
Dim carry11 As Long
Dim carry33 As Long
Dim carry415 As Long
Dim counter1 As Integer
Dim counter2 As Integer
ehv_breaker = 0
row_no = 5
Sheets("Sheet2").Range("b5").Select
For ehv_breaker = 1 To Sheets("Sheet1").Range("c6").Value
Sheets("sheet2").Cells(row_no, 2).Value = Sheets("sheet1").Cells(6, 4) &
Format$(ehv_breaker, "00")
ActiveCell.Offset(1, 0).Select
row_no = row_no + 1
Next ehv_breaker
For breaker11kv = 1 To Sheets("Sheet1").Range("c7").Value
Sheets("Sheet2").Cells(row_no, 2).Value = Sheets("sheet1").Cells(7, 4) &
Format$(breaker11kv, "00")
ActiveCell.Offset(1, 0).Select
row_no = row_no + 1
Next breaker11kv
carry11 = breaker11kv
For breaker33kv = 1 To Sheets("Sheet1").Range("c8").Value
Sheets("sheet2").Cells(row_no, 2).Value = Sheets("sheet1").Cells(8, 4) &
Format$(breaker33kv, "00")
ActiveCell.Offset(1, 0).Select
row_no = row_no + 1
Next breaker33kv
carry33 = breaker33kv
For breaker415V = 1 To Sheets("Sheet1").Range("c9").Value
Sheets("sheet2").Cells(row_no, 2).Value = Sheets("sheet1").Cells(9, 4) &
Format$(breaker415V, "00")
ActiveCell.Offset(1, 0).Select
row_no = row_no + 1
Next breaker415V
carry415 = breaker415V
For breaker415E = 1 To Sheets("Sheet1").Range("c10").Value
Sheets("sheet2").Cells(row_no, 2).Value = Sheets("sheet1").Cells(10, 4) &
Format$(breaker415E, "00")
ActiveCell.Offset(1, 0).Select
row_no = row_no + 1
Next breaker415E
'For breaker11kv > breaker11kv To Sheets("Sheet1").Range("c11").Value + carry11
Do
Sheets("sheet2").Cells(row_no, 2).Value = Sheets("sheet1").Cells(11, 4) &
Format$(breaker11kv, "00")
ActiveCell.Offset(1, 0).Select
row_no = row_no + 1
breaker11kv = breaker11kv + 1
Loop Until breaker11kv > Sheets("Sheet1").Cells("c11").Value + carry11
'Loop Until breaker11kv > Sheets("Sheet1").cells(c11").Value + carry11
'Next breaker11kv
For breaker33kv = breaker33kv To Sheets("Sheet1").Range("c12").Value + carry33
Sheets("sheet2").Cells(row_no, 2).Value = Sheets("sheet1").Cells(12, 4) &
Format$(breaker33kv, "00")
ActiveCell.Offset(1, 0).Select
row_no = row_no + 1
Next breaker33kv
For breaker415V = breaker415V To Sheets("Sheet1").Range("c13").Value + carry415
Sheets("sheet2").Cells(row_no, 2).Value = Sheets("sheet1").Cells(13, 4) &
Format$(breaker415V, "00")
ActiveCell.Offset(1, 0).Select
row_no = row_no + 1
Next breaker415V
MsgBox "ehv_breaker=" & ehv_breaker
Application.ScreenUpdating = False
End Sub
StackOverflow에 오신 것을 환영합니다. 이 코드는 무료 코드 작성 서비스가 아닙니다. 그러나 동료 프로그래머 (및 지망자)가 자신의 코드를 작성하는 것을 돕기 위해 열심입니다. [좋은 질문을하는 방법] (http://stackoverflow.com/help/how-to-ask)의 도움말 항목을 읽으십시오. 그 후에, 당신이 달성하고자하는 과제를 완료하기 위해 지금까지 작성한 VBA 코드로 질문을 업데이트하십시오. 우리는 당신을 기다리고있을 것입니다. 도움을 줄 준비가되어 * 코드 * 작성을 도와드립니다. **이 작업을 자동화하려면 ** VBA가 필요합니다. 그래서, 당신은 어떤 것을 배우기 시작해야합니다 ... – Ralph
동일을 업데이 트하지 못해 죄송합니다. 그러나 나는 일하고 있었고 누군가가 도움이되기를 희망하는 코드를 추가했다. – Andee