это мой первый пост здесь. Я пытался найти исправление безрезультатно. Я не эксперт в VBA, поэтому я уверен, что мой код выглядит неряшливо.
Обычно я пытаюсь скопировать и вставить данные из одного листа в другой в той же книге. Данные для копирования выкладываются в виде таблицы. Диапазон, в который я вставляю, - это один ряд для одной компании.
Sub Save()
Application.ScreenUpdating = False
Dim x As Integer
x = Worksheets("Insurance Tower Template").Range("B37").Value
'date
Worksheets("Data").Range("A" & x) = Date
'policy number
Worksheets("Insurance Tower Template").Range("L5").Copy
Worksheets("Data").Range("H" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("H" & x).PasteSpecial Paste:=xlPasteFormats
'status
Worksheets("Insurance Tower Template").Range("L6").Copy
Worksheets("Data").Range("G" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("G" & x).PasteSpecial Paste:=xlPasteFormats
'producer
Worksheets("Insurance Tower Template").Range("L7").Copy
Worksheets("Data").Range("EX" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("EX" & x).PasteSpecial Paste:=xlPasteFormats
'primary
Worksheets("Insurance Tower Template").Range("D10:L10").Copy
Worksheets("Data").Range("I" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("I" & x).PasteSpecial Paste:=xlPasteFormats
'1xs
Worksheets("Insurance Tower Template").Range("D11:L11").Copy
Worksheets("Data").Range("R" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("R" & x).PasteSpecial Paste:=xlPasteFormats
'2xs
Worksheets("Insurance Tower Template").Range("D12:L12").Copy
Worksheets("Data").Range("AA" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("AA" & x).PasteSpecial Paste:=xlPasteFormats
'3xs
Worksheets("Insurance Tower Template").Range("D13:L13").Copy
Worksheets("Data").Range("AJ" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("AJ" & x).PasteSpecial Paste:=xlPasteFormats
'4xs
Worksheets("Insurance Tower Template").Range("D14:L14").Copy
Worksheets("Data").Range("AS" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("AS" & x).PasteSpecial Paste:=xlPasteFormats
'5xs
Worksheets("Insurance Tower Template").Range("D15:L15").Copy
Worksheets("Data").Range("BB" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("BB" & x).PasteSpecial Paste:=xlPasteFormats
'6xs
Worksheets("Insurance Tower Template").Range("D16:L16").Copy
Worksheets("Data").Range("BK" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("BK" & x).PasteSpecial Paste:=xlPasteFormats
'7xs
Worksheets("Insurance Tower Template").Range("D17:L17").Copy
Worksheets("Data").Range("BT" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("BT" & x).PasteSpecial Paste:=xlPasteFormats
'8xs
Worksheets("Insurance Tower Template").Range("D18:L18").Copy
Worksheets("Data").Range("CC" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("CC" & x).PasteSpecial Paste:=xlPasteFormats
'9xs
Worksheets("Insurance Tower Template").Range("D19:L19").Copy
Worksheets("Data").Range("CL" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("CL" & x).PasteSpecial Paste:=xlPasteFormats
'10xs
Worksheets("Insurance Tower Template").Range("D20:L20").Copy
Worksheets("Data").Range("CU" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("CU" & x).PasteSpecial Paste:=xlPasteFormats
'11xs
Worksheets("Insurance Tower Template").Range("D21:L21").Copy
Worksheets("Data").Range("DD" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("DD" & x).PasteSpecial Paste:=xlPasteFormats
'12xs
Worksheets("Insurance Tower Template").Range("D22:L22").Copy
Worksheets("Data").Range("DM" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("DM" & x).PasteSpecial Paste:=xlPasteFormats
'13xs
Worksheets("Insurance Tower Template").Range("D23:L23").Copy
Worksheets("Data").Range("DV" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("DV" & x).PasteSpecial Paste:=xlPasteFormats
'14xs
Worksheets("Insurance Tower Template").Range("D24:L24").Copy
Worksheets("Data").Range("EE" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("EE" & x).PasteSpecial Paste:=xlPasteFormats
'15xs
Worksheets("Insurance Tower Template").Range("D25:L25").Copy
Worksheets("Data").Range("EN" & x).PasteSpecial Paste:=xlPasteValues
Worksheets("Data").Range("EN" & x).PasteSpecial Paste:=xlPasteFormats
'clearborders
Sheets("Data").Activate
Range("A1:EX5000").Select
Selection.Borders.LineStyle = xlNone
Range("A1").Select
'reformula below
'date
Worksheets("Reformula").Range("L27").Copy
Worksheets("Insurance Tower Template").Range("L27").PasteSpecial Paste:=xlPasteFormulas
'policy number
Worksheets("Reformula").Range("L5").Copy
Worksheets("Insurance Tower Template").Range("L5").PasteSpecial Paste:=xlPasteFormulas
'status
Worksheets("Reformula").Range("L6").Copy
Worksheets("Insurance Tower Template").Range("L6").PasteSpecial Paste:=xlPasteFormulas
'producer
Worksheets("Reformula").Range("L7").Copy
Worksheets("Insurance Tower Template").Range("L7").PasteSpecial Paste:=xlPasteFormulas
'primary
Worksheets("Reformula").Range("D10:L10").Copy
Worksheets("Insurance Tower Template").Range("D10").PasteSpecial Paste:=xlPasteFormulas
'1XS
Worksheets("Reformula").Range("D11:L11").Copy
Worksheets("Insurance Tower Template").Range("D11").PasteSpecial Paste:=xlPasteFormulas
'2XS
Worksheets("Reformula").Range("D12:L12").Copy
Worksheets("Insurance Tower Template").Range("D12").PasteSpecial Paste:=xlPasteFormulas
'3XS
Worksheets("Reformula").Range("D13:L13").Copy
Worksheets("Insurance Tower Template").Range("D13").PasteSpecial Paste:=xlPasteFormulas
'4XS
Worksheets("Reformula").Range("D14:L14").Copy
Worksheets("Insurance Tower Template").Range("D14").PasteSpecial Paste:=xlPasteFormulas
'5XS
Worksheets("Reformula").Range("D15:L15").Copy
Worksheets("Insurance Tower Template").Range("D15").PasteSpecial Paste:=xlPasteFormulas
'6XS
Worksheets("Reformula").Range("D16:L16").Copy
Worksheets("Insurance Tower Template").Range("D16").PasteSpecial Paste:=xlPasteFormulas
'7XS
Worksheets("Reformula").Range("D17:L17").Copy
Worksheets("Insurance Tower Template").Range("D17").PasteSpecial Paste:=xlPasteFormulas
'8XS
Worksheets("Reformula").Range("D18:L18").Copy
Worksheets("Insurance Tower Template").Range("D18").PasteSpecial Paste:=xlPasteFormulas
'9XS
Worksheets("Reformula").Range("D19:L19").Copy
Worksheets("Insurance Tower Template").Range("D19").PasteSpecial Paste:=xlPasteFormulas
'10XS
Worksheets("Reformula").Range("D20:L20").Copy
Worksheets("Insurance Tower Template").Range("D20").PasteSpecial Paste:=xlPasteFormulas
'11XS
Worksheets("Reformula").Range("D21:L21").Copy
Worksheets("Insurance Tower Template").Range("D21").PasteSpecial Paste:=xlPasteFormulas
'12XS
Worksheets("Reformula").Range("D22:L22").Copy
Worksheets("Insurance Tower Template").Range("D22").PasteSpecial Paste:=xlPasteFormulas
'13XS
Worksheets("Reformula").Range("D23:L23").Copy
Worksheets("Insurance Tower Template").Range("D23").PasteSpecial Paste:=xlPasteFormulas
'14XS
Worksheets("Reformula").Range("D24:L24").Copy
Worksheets("Insurance Tower Template").Range("D24").PasteSpecial Paste:=xlPasteFormulas
'15XS
Worksheets("Reformula").Range("D25:L25").Copy
Worksheets("Insurance Tower Template").Range("D25").PasteSpecial
Paste:=xlPasteFormulas
Application.CutCopyMode = False
End Sub
Этот код работал некоторое время, но я добавил столбец «Статус», и тогда все, казалось, развалилось. Макрос зависает, а затем выдает ошибку. При отладке желтая подсветка всегда находится в строке «Paste: = xlPasteFormats».
Буду признателен за понимание этого. Спасибо!