簡體   English   中英

Excel根據第三個單元格的值將一個單元格的值復制到另一個單元格

[英]Excel copying value of one cell into another based off value of third cell

我試圖讓一個單元格(AG2:AG30)的范圍基於第三單元格(D2:D30)的值,從相似范圍(AB2:AB30)復制另一個單元格的值。

  • D列的值是從下拉框中選擇的,而AB列的值是一個公式。
  • 我不需要僅將值復制到AG列中。 D列的值為"Surgery""OR""ER""PICU""Other"

如果有人可以幫助執行此操作的VBA代碼,我將不勝感激。 謝謝!

請嘗試以下方法

=IF(C2=1,B2,A2)

IF表示如果第一個參數為true,則將顯示第二個參數的值。 否則它將復制第三個參數。

在我的示例中,如果C2等於1,則該函數將返回B2。 否則為A2。

我認為這更多....正是您想要的:)

如有任何疑問,請發表評論。 我將其分解為代碼清晰和易於定制。

Option Explicit

'module-scope variables
Dim range1 As Range
Dim range2 As Range
Dim range3 As Range
Dim i As Long
Dim string1 As String

Dim address1 As String
Dim address2 As String


Sub derp()

'set your sheet here or just let it work on active sheet

Set range1 = Range("AG2:AG30")
Set range2 = Range("AB2:AB30")
Set range3 = Range("D2:D30")

For i = 0 To range3.Rows.Count

    string1 = range3(i).Value
    address1 = range1(i).Address
    address2 = range2(i).Address

    Select Case string1

        Case string1 = "Surgery"
            'do stuff here
            Call Valueswap(address1, address2)

        Case string1 = "OR"


        Case string1 = "ER"

        Case string1 = "PICU"

        Case string1 = "Other"

        Case Else
            'value in column D yields error, put a message here

    End Select

Next







End Sub

Function Valueswap(address1 As String, address2 As String)
    'puts second address value into the first address
    Range(address2).Value = Range(address1).Value

End Function

暫無
暫無

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

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