Excel如果字段有一个X复制单元格到另一个工作表

我有一个问题,我知道有人可以帮助我。 我在视觉基础部门非常有限。

我有一个Excel跟踪器,如果某个活动已经完成,我每个月都会在一个单元格中放入一个“X”。 这个“X”与同一张纸上的一系列单元格相关。

我希望能够做到以下几点。 当我点击一个命令框时,

  1. 如果一月份的单元格将当前页面上的特定单元格复制到另一个工作表上的特定单元格。
  2. 如果2月份的单元格有一个“X”,则将当前页面上的某些其他特定单元格复制到另一个工作表上的某些其他特定单元格。

    等到十二月。

我有下面的代码(这是行不通的):

Private Sub CommandButton1_Click() Sheets("MRT").Select If InStr(1, (Range("L8").Value), "X") > 0 Then Range("E42:AA42").Select Selection.Copy Sheets("Test '12").Select Cells(3, AP).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone End If End Sub 

尝试这个:

 Private Sub CommandButton1_Click() If Sheets("MRT").Range("L8").Value like "*X*" Then Sheets("MRT").Range("E42:AA42").Copy Sheets("Test '12").Cells(3, 1).PasteSpecial Paste:=xlValues, Operation:=xlNone End If End Sub 

在我的testing中工作,但是您可能需要将Cells(3,1)和其他位置说明符修改为您所需的目标。

编辑:忘记了几个月的部分…等一下…这里:

 Sub FindSignificant() Dim SearchString As String Dim SearchRange As Range, cl As Range Dim FirstFound As String Dim sh As Worksheet ' Set Search value SearchString = "a" Application.FindFormat.Clear ' loop through all sheets Set sh = Sheets("MRT") ' Find first instance on sheet Set cl = sh.Cells.Find(What:=SearchString, _ After:=sh.Cells(1, 1), _ LookIn:=xlFormulas, _ LookAt:=xlPart, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, _ MatchCase:=False, _ SearchFormat:=False) If Not cl Is Nothing Then ' if found, remember location FirstFound = cl.Address ' format found cell Do Select Case sh.Cells(cl.Row, 1).Value Case "december" sh.Range("E42:AA42").Copy Sheets("Test '12").Cells(3, 1).PasteSpecial Paste:=xlValues, Operation:=xlNone Case "february" sh.Range("E42:AA42").Copy Sheets("Test '12").Cells(3, 1).PasteSpecial Paste:=xlValues, Operation:=xlNone Case Else 'do nothing End Select ' find next instance Set cl = sh.Cells.FindNext(After:=cl) ' repeat until back where we started Loop Until FirstFound = cl.Address End If End Sub 

这个代码来自这里

你将不得不适应select的情况下,但我真的会考虑解决这个没有VBA,如果没有必要;)