我试图在所有选定的工作表中粘贴指定范围内的某个公式

问题描述 投票:0回答:1

我想从每个选定工作表中的单元格中获取值,并将其用于我需要粘贴在同一工作表中的公式中。代码应如下所示

Sub Copy_Value_in_Cells()


        Dim Wb As Workbook
        Dim Sht As Worksheet
        Dim mySelectedSheets As Sheets
        Dim CompanyCell As Range
        Dim CompanyName As String


        Set Wb = ThisWorkbook


        Set mySelectedSheets = ActiveWindow.SelectedSheets


            For Each Sht In mySelectedSheets

                Set CompanyCell = Range("H2")


                For Each CompanyCell In Sht


                CompanyName = CompanyCell.Value

                'use the string CompanyName from CompanyCell in a IF fomula which I want it to be paste in range B20
                Range("B20").Value = "if(B21=CompanyName,True,False)"
                Next
            Next

        Application.CutCopyMode = False


    End Sub
excel vba
1个回答
2
投票

更改:

Range("B20").Value = "if(B21=CompanyName,True,False)"

Range("B20").Formula = "=if(B21=""" & CompanyName & """,True,False)"

奇怪的三引号是因为要在字符串中包含引号,您需要将其加倍:例如Msgbox "Your username is ""Alessio_110"""将显示带有此文本的消息框:

您的用户名是“Alessio_110”

所以,如果CompanyName = "Pear Calculators",那么Range("B20").Formula = "=if(B21=""" & CompanyName & """,True,False)"将公式设置为=if(B21="Pear Calculators",True,False)

(当然,=if(B21="Pear Calculators",True,False)和写=(B21="Pear Calculators")的结果相同)

© www.soinside.com 2019 - 2024. All rights reserved.