Excel - En makro for at slette en bestemt celleværdi

Problem

Jeg har et krav om at slette værdien i specifikke sæt celler i Excel med VBA script.

Fx: Jeg skal slette d3: d4, e3: e4, g3: g4, h3: h4

og et andet sæt d9: d11, e9: e11, g9: g11, h9: h11.

 sub delete Jeg prøver denne måde ark ("sheet1"). range ("d3: e4) .select selection.clearcontents sheets (" sheet1 "). range (" g3: h4) .selekter selection.clearcontents. . . . ende sub 

Men denne måde redundans ses. Kan nogle hjælpe mig med at skrive en bedre kode.

Opløsning

Opret en fælles rutine og kalder den rutine

 'rowToClearStarting: første række i det interval, der skal ryddes' rowToClearEnding: sidste række i det interval, der skal ryddes 'Prøveopkald: clearContents (4, 6) Offentlige sub clearContents (rowToClearStarting så lang, rowToClearEnding as Long) Ark "ark1"). Range ("e" & rowToClearStarting & ": e" & rowToClearEnding) .clearContents Sheets ("sheet1") ") .Range (" h "& rowToClearStarting &": g "& rowToClearEnding) .clearContents Sheets (" sheet1 ") .Range (" h "& rowToClearStarting &": h "& rowToClearEnding) .clearContents End Sub 

Takket være Rrizvisa1 for dette tip.

Forrige Artikel Næste Artikel

Top Tips