簡體   English   中英

使用循環將某些 sheet1 單元格的粘貼值分配或復制到 sheet2 中的精確列,其中計數器是在列中輸入的值,例如:A1 單元格

[英]assign or copy paste values of some sheet1 cells to exact columns in sheet2 using loop which counter is value entered in column eg:A1 cell

希望有人可以幫助我讓下面的代碼正常工作,因為我確定了范圍並准確給出了 A1 數值作為循環計數器和起點。

Private Sub Worksheet_Change(ByVal Target As Range)

    If (Range("A1") <> "") And (IsNumeric(Range("A1"))) And (Range("A1") > 0) Then
         Dim X As Integer
         If Not Intersect(Target, Range("A1")) Is Nothing Then
             For X = 1 To Range("A1").Value
                 Sheet4.Range("b" & X).Value = Range("A1").Value
             Next X
             MsgBox "done"
         Else
         End If
     Else
         MsgBox "no numeric"
     End If
End Sub

現在

我想擴展上面的代碼,以便當用戶將 sheet1 A1 填充 5 然后將值粘貼到 sheet2 中的 5 個單元格,從 sheet2 中的第一個空單元格開始,例如:b1:b5 或 b10:b15 分別。 下次我不知道將填充 sheet1 列 A 中的哪個單元格可能是 A2' A3'A10'A80 或任何 A 列單元格,因此下次填充時執行相同的操作循環輸入值時間並粘貼或分配值到 sheet2 b 第一個空單元格,然后是循環計數單元格。

解決辦法是

Option Explicit Private Sub Worksheet_Change(ByVal Target As Range)

Dim KeyCells As Range Set KeyCells = Range("H:H") If (Target.Value <> "") And (IsNumeric(Target.Value)) And (Target.Value > 0) And ((Target.HasFormula) =錯)然后

如果不是 Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then Dim X As Integer Sheets("sheet2").Activate For X = Sheets("sheet2").Range("G100").End(xlUp) ).Row To Sheets("sheet2").Range("G100").End(xlUp).Row + Target.Value - 1 Sheets("sheet2").Range("B" & X + 1).Value = Sheets("sheet1").Range("B" & Target.Row) Sheets("sheet2").Range("C" & X + 1).Value = Sheets("sheet1").Range("C" & Target.Row) Sheets("sheet2").Range("D" & X + 1).Value = Sheets("sheet1").Range("D" & Target.Row) Sheets("sheet2").Range( "E" & X + 1).Value = Sheets("sheet1").Range("E" & Target.Row)

Sheets("sheet2").Range("G" & X + 1).Value = "Enter serial" Next X 'MsgBox Target.Address MsgBox "done" & X Else End If Else MsgBox "錯誤的值!你必須輸入數字大於 0 " End If End Sub

但是現在如果用戶更改 sheet1 Range("H:H") 上的值,我如何更新 sheet2 中的行,如果用戶輸入的值大於他輸入的第一個值,我需要一種方法來插入新行。 或者如果用戶輸入的值小於他輸入的第一個值,我需要一種方法來刪除額外的行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM