У меня есть несколько частей моего кода, и некоторые из них я хочу использовать только один раз. Вот части моего кода:
Sub Divider()
Dim ws As Worksheet
Dim Shp As Shape
Set ws = ActiveSheet
Sheets("Cables 1").Shapes("Divider1").Copy
ws.Range("B25").PasteSpecial
Selection.Name = "Divider"
Set Shp = ws.Shapes("Divider")
Location Shp, Range("b25:L50")
End Sub
Sub CivBox()
With ActiveSheet
.Shapes("Civils 3").Copy
[C26].Activate
.Paste
.Shapes(.Shapes.Count).Name = "Civils 4"
.Shapes("Civils 4").TextFrame2.TextRange.Characters.Text = "4"
End With
End Sub
, а также
Public Sub ResizeCiv2()
Dim targetSheet As Worksheet
Dim targetRange As Range
Dim targetShape As Shape
' Define the sheet that has the pictures
Set targetSheet = ThisWorkbook.ActiveSheet
' Define the range the images is going to fit
Set targetRange = targetSheet.Range("C3:K24")
' Loop through each Shape in Sheet
For Each targetShape In targetSheet.Shapes
' Check "picture" word in name
If targetShape.Name Like "*Picture*" Then
' Call the resize function
SizeToRange targetShape, targetRange
End If
Next targetShape
Call CivBox
Call Divider
ActiveSheet.Range("M15").Value = Range("D52")
Sheets("Cables 1").Cells(50, 3).Value = Sheets("Cables 1").Cells(50, 3).Value + 1
Sheets("Cables 1").Cells(51, 3).Value = Sheets("Cables 1").Cells(51, 3).Value + 1
End sub
Из следующего кода я хочу запустить раздел ниже только один раз, используя кнопку управления формой.
Call CivBox
Call Divider
ActiveSheet.Range("M15").Value = Range("D52")
Sheets("Cables 1").Cells(50, 3).Value = Sheets("Cables 1").Cells(50, 3).Value + 1
Sheets("Cables 1").Cells(51, 3).Value = Sheets("Cables 1").Cells(51, 3).Value + 1
Есть ли шанс совершить sh это?