我想从每个选定工作表中的单元格中获取值,并将其用于我需要粘贴在同一工作表中的公式中。代码应如下所示
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
更改:
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")
的结果相同)