我需要一個簡單的 vba 代碼。我希望有一個人可以幫助我。所以,我想復制范圍 B2:E6 并留下一些標有特殊條件的單元格。我在單元格 A2:A6 中創建了一個值為 Y/X 的規則。最后,我想僅在值為 Y 時將值 B2:E6 粘貼到 F9:I13 范圍內。
我附上下面的圖片,讓你更容易理解。

任何幫助都會很棒。對不起,我的英語不好。
uj5u.com熱心網友回復:
如果代碼中顯示的鏈接到 CommandButton1_Click() 事件的 CommandButton1 按鈕代碼與您的作業表 (Sheet9) 無關,我建議您首先定義您的作業作業表。否則,代碼將在您希望滿足條件的 Sheet9 之外的另一個 Sheet 上執行。
所以,我建議使用這段代碼,它也格式化目標表“(F8:I13)”:
Private Sub CommandButton1_Click()
Dim myWorkingSheet As Worksheet
Dim Working_Range As Range, Target_Range As Range
Dim Line_to_Read As Double, Table_Shift As Double
Set myWorkingSheet = Sheets("Sheet9")
myWorkingSheet.Activate
' Copy the header table
myWorkingSheet.Range("B1:E1").Copy Range("F8")
Application.CutCopyMode = False
' Copy the format of the table
myWorkingSheet.Range("B1:E6").Copy
myWorkingSheet.Range("F8").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
' Copy table if current cell in column A = "y"
Set Working_Range = myWorkingSheet.Range("A2:A6")
Line_to_Read = 2
Table_Shift = 7 'To start at F9 cell
For Each wr In Working_Range
If wr = "y" Then
myWorkingSheet.Range(Cells(Line_to_Read, 2), Cells(Line_to_Read, 5)).Copy myWorkingSheet.Range(Cells(Line_to_Read Table_Shift, 6), Cells(Line_to_Read Table_Shift, 10))
End If
Line_to_Read = Line_to_Read 1
Next
' To point the cursor at the first cell.
myWorkingSheet.Cells(1, 1).Select
End Sub
為避免在使用 With 子句和 End With 中重復 myWorkingSheet。
uj5u.com熱心網友回復:
也許這可以讓你開始
Sub Macro1()
Dest = 8
For Row = 1 To 6
If Cells(Row, 1) <> "x" Then
Range(Cells(Row, 2), Cells(Row, 5)).Select
Selection.Copy
Cells(Dest, 6).Select
ActiveSheet.Paste
End If
Dest = Dest 1
Next Row
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/353783.html
下一篇:Excel2合一
