使用Excel VBA将文本框链接和/或公式转换为复制的图纸中的值

gdx19jrr  于 2023-01-31  发布在  其他
关注(0)|答案(1)|浏览(118)

我正在使用以下VBA代码将工作表复制到另一个工作簿:

Sub Macro1()
    Dim num As Integer
    Dim tbox As TextFrame2
    
    Sheets("2316 Printing Template (v2018)").Select
    Range("AS9").Select
    
    For i = 1 To 2
        Range("AS9").Value = i
        Sheets("2316 Printing Template (v2018)").Copy After:=Workbooks("Book1.xlsx").Sheets(i)
        With ActiveSheet.UsedRange
            .Value = .Value
        End With
        
        Worksheets("2316 Printing Template (v2018)").Name = Left(Range("AS12").Value, 31)
        Windows("2316 PrinterTemplate (2022).xlsm").Activate
    Next i
    
End Sub

单元格和文本框的值在模板中更改,因为单元格AS9更改了值,然后我将模板复制到另一个工作簿并重命名新工作表。我现在的问题是文本框仍然链接到原始工作簿&工作表,我如何转换为链接到值?
下面是这两个文件的屏幕截图。第一个是模板:

这是复印的表格

b1zrtrql

b1zrtrql1#

你可以用这个

Sub RemoveFormulaFromTextBoxes()

Dim s As Worksheet
Set s = ActiveWorkbook.ActiveSheet
s.Activate

Dim tf As TextFrame2
Dim v

For Each t In s.Shapes
    If t.Type = 17 Then
        v = t.TextFrame2.TextRange.Characters.Text
        Set tf = t.TextFrame2
        t.Select
        Selection.Formula = ""
        t.TextFrame2.TextRange.Characters.Text = v
    End If
Next
End Sub

相关问题