Excel VBA共连单元格,包含-&:
我正在修改一些代码,在汇总表和成本表之间添加链接。我试图将以下公式编码到单元格C1中的每个CS表中。 =连接摘要!L9,-,总结!M9,:,总结!N9,行将在其中更改。我的语法有问题。最简单的方法是什么 代码,在该代码下几乎有效,但未将所需的Excel VBA共连单元格,包含-&:,vba,excel,Vba,Excel,我正在修改一些代码,在汇总表和成本表之间添加链接。我试图将以下公式编码到单元格C1中的每个CS表中。 =连接摘要!L9,-,总结!M9,:,总结!N9,行将在其中更改。我的语法有问题。最简单的方法是什么 代码,在该代码下几乎有效,但未将所需的 Sub CSrefs() ' ' Adds links from Summary Sheet to CS Sheets: - Updated 29/09/15 PRS Dim i As Integer, iOffset As Integer, intCo
Sub CSrefs()
'
' Adds links from Summary Sheet to CS Sheets: - Updated 29/09/15 PRS
Dim i As Integer, iOffset As Integer, intCount As Integer
Dim intCS1_Index As Integer, intCSCount As Integer, nonCSSheets As Integer
Dim sFormulaText As String, sDash As String, sDots As String
Application.ScreenUpdating = False
intCount = ActiveWorkbook.Sheets.Count 'Find total number of workbook sheets
intCS1_Index = Sheets("CS1").Index 'CS1 Sheet index
intCSCount = intCount - (intCS1_Index - 1) 'Find total number of CS sheets
nonCSSheets = intCount - intCSCount 'Find total number of Non-CS sheets
sDash = " - "
sDots = " : "
For i = 1 To intCSCount 'number of sheets
iOffset = i + 8 'Start of Summary Sheet CS Rows
With Sheets("CS" & i)
sFormulaText = "=CONCATENATE(SUMMARY!L" & iOffset & "," & sDash & ",SUMMARY!M" & iOffset & "," & sDots & ",SUMMARY!N" & iOffset & ")"
' .Range("B1").Formula = sFormulaText
.Range("A1").Hyperlinks.Add Anchor:=.Range("A1"), Address:="", SubAddress:="Summary!D" & iOffset, TextToDisplay:="SUMMARY" 'Go to Summary Sheet hyperlink
.Range("A1").Font.Size = 8
.Range("G1").Formula = "=SUMMARY!O" & iOffset ' UOM
.Range("E1").Formula = "=SUMMARY!P" & iOffset 'SOR Qty
.Range("I1").Formula = "=SUMMARY!R" & iOffset 'Cable Average
' .Range("H10").Formula = "=SUMMARY!C" & iOffset 'Sage Code
.Range("N17").Formula = "=SUMMARY!AC" & iOffset 'Materials GP%
.Range("P17").Formula = "=SUMMARY!AP" & iOffset 'Materials MCD GP%
.Range("N42").Formula = "=SUMMARY!AD" & iOffset 'Misc GP%
.Range("P42").Formula = "=SUMMARY!AP" & iOffset 'Misc MCD GP%
.Range("N67").Formula = "=SUMMARY!AE" & iOffset 'Labour GP
.Range("P67").Formula = "=SUMMARY!AP" & iOffset 'Labour MCD GP%
.Range("N92").Formula = "=SUMMARY!AF" & iOffset '3rd Party GP%
.Range("P92").Formula = "=SUMMARY!AP" & iOffset '3rd Party MCD GP%
.Range("N117").Formula = "=SUMMARY!AG" & iOffset 'PM&PL GP%
.Range("P117").Formula = "=SUMMARY!AP" & iOffset 'PM&PL MCD GP%
.Range("N142").Formula = "=SUMMARY!AH" & iOffset 'Bond GP%
.Range("P142").Formula = "=SUMMARY!AP" & iOffset 'Bond MCD GP%
.Range("N152").Formula = "=SUMMARY!AG" & iOffset 'Support GP%
.Range("P152").Formula = "=SUMMARY!AP" & iOffset 'Support MCD GP%
.Range("N177").Formula = "=SUMMARY!AH" & iOffset 'Day Works GP%
.Range("P177").Formula = "=SUMMARY!AP" & iOffset 'Day Works MCD GP%
End With
Next i
Sheets("Summary").Select
Application.ScreenUpdating = True
End Sub
在双引号内使用两次双引号,以显示一个双引号
sFormulaText = "=CONCATENATE(SUMMARY!L" & iOffset & ",""-"",SUMMARY!M" & iOffset & ", "":"",SUMMARY!N" & iOffset & ")"
不确定双引号和破折号/点之间是否需要空格,但可以自己添加:哪一行有问题?SFormula文本分配?通常,将您在帖子中发布的代码量降到最低是一个好主意。请注意,您可能应该从环境设置中获取列表分隔符字符,而不是对其进行硬编码-如果在运行此宏的计算机上列表分隔符更改为逗号以外的任何字符,则硬编码的逗号会导致代码失败。谢谢@Mat的Mug。这是SFormula文本作业。我在哪里可以找到你的原始答案?在问题的顶部有一个链接。另外,JiheL的回答是正确的,只是不是他的代码。请看我在下面的评论。谢谢@Mats Mug。复制和粘贴时会出现“编译错误-在第一次出现-”时预期语句结束,@Paul_S我只是再次更改并测试了它!现在工作谢谢@Jihel。我试过了,但是它出现了一个类型不匹配的错误,引号不匹配。应该是sFormulaText==连接摘要!L&iOffset&、-,总结!M&iOffset&,:,摘要!N&iOffset&