VBA Excel запускает некоторые части кода только один раз при использовании командных кнопок - PullRequest
0 голосов
/ 31 марта 2020

У меня есть несколько частей моего кода, и некоторые из них я хочу использовать только один раз. Вот части моего кода:

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

enter image description here

Есть ли шанс совершить sh это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...