2012-01-19 145 views
0

我試圖根據第三個單元格的值('yes'或空白)將單張單元格的值複製到另一張單元格中的單元格。 實施例:根據第一個工作表中的第二個單元格的值,將數據從一個單元複製到另一個工作表中的單元?

Cell A1: Monday 
Cell B1: Yes 

複印如果B1 = Yes在Cell A1的值轉換成細胞Sheet2的B5。如果單元格B2爲空(或「否」),則不執行任何操作。這可能嗎?
我試圖通過使用if語句來做到這一點,但沒有任何運氣。

[編輯]這裏是我的代碼(但尚不能工作):

Sub ColorWhite() 
Range("B01:B15").Value = Yes 

With Selection.Font 
    .ThemeColor = x1ThemeColorDark1 
    .TintAndShade = 0 
End 

Range("B01:B15").Value Not Yes 
Selection.EntireRow.Hidden = True 

End Sub 

回答

0

您可以嘗試在Sheet2上這個公式,單元格B5

IF(Sheet1!B1 = "Yes", A1, "") 

如果你想檢查B1 = YesB2nothingNo

IF(AND(Sheet1!B1 = "Yes", OR(Sheet1!B2 = "", Sheet1!B2="No")), A1, "") 

和拖放它需要的地方


[編輯]的範圍內這是基於您的留言VBA嘗試。我一直是簡單的(會有這樣做更有效的方式),因此它很容易理解和適應:

Sub ColorWhite() 
Dim c As Range 
For Each c In Worksheets("Sheet1").Range("B1:B15") 
    If c.Value = "Yes" Then 
     With Worksheets("Sheet2").Range(c.Address).Offset(0, -1) 
      .Value = Worksheets("Sheet1").Range(c.Address).Offset(0, -1).Value 
      With .Font 
       .ThemeColor = xlThemeColorDark1 
       .TintAndShade = 0 
      End With 
     End With 
    End If 
Next c 
End Sub 
+0

感謝您的建議,我想出了另一種思路來完成我想要的任務但不幸的是我很難實施它。 子顏色白色() 範圍。( 「B01:B15」)值=是 隨着Selection.Font .ThemeColor = x1ThemeColorDark1 .TintAndShade = 0 結束隨着 範圍( 「B01:B15」)。值不是 Selection.EntireRow.Hidden = True 喜歡第一部分的代碼,但不喜歡第二部分。 – Ckeane

+0

感謝@JMax的代碼,非常感謝。我已將它稍微編輯爲以下內容:'Sub ColorWhite() Dim c As Range For Each c In Worksheets(「Sheet1」)。Range(「C121:C150」) 如果c.Value =「Yes」Then 使用範圍(c.Address).Offset(0,0) .Value =工作表(「Sheet1」)。範圍(c.Address).Offset(0,0)。值 With .Font .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With End With End If Next c End Sub' – Ckeane

+0

感謝您的幫助,代碼的工作原理與此相同。但是,它將單元格中的公式更改爲設置的文本。使用家庭功能區菜單上的條件格式化來完成代碼所做的事,但是條件格式化保持了單元格公式不變。接下來,我必須找到一種方法來隱藏沒有值爲「是」的行。我已經嘗試了一條if語句,但這不起作用。 – Ckeane

相關問題