Deletes a range of cells and shifts other cells into the deleted area. There are several related tasks that are implemented by other functions:

range_delete(ss, sheet = NULL, range, shift = NULL)



Something that identifies a Google Sheet: its file ID, a URL from which we can recover the ID, an instance of googlesheets4_spreadsheet (returned by gs4_get()), or a dribble, which is how googledrive represents Drive files. Processed through as_sheets_id().


Sheet to delete, in the sense of "worksheet" or "tab". You can identify a sheet by name, with a string, or by position, with a number. Ignored if the sheet is specified via range. If neither argument specifies the sheet, defaults to the first visible sheet.


Cells to delete. There are a couple differences between range here and how it works in other functions (e.g. range_read()):

  • range must be specified.

  • range must not be a named range.

  • range must not be the name of a (work) sheet. Instead, use sheet_delete() to delete an entire sheet. Row-only and column-only ranges are especially relevant, such as "2:6" or "D". Remember you can also use the helpers in cell-specification, such as cell_cols(4:6), or cell_rows(5).


Must be one of "up" or "left", if specified. Required if range is NOT a rows-only or column-only range (in which case, we can figure it out for you). Determines whether the deleted area is filled by shifting surrounding cells up or to the left.


The input ss, as an instance of sheets_id

See also


if (gs4_has_token()) { # create a data frame to use as initial data df <- gs4_fodder(10) # create Sheet ss <- gs4_create("range-delete-example", sheets = list(df)) # delete some rows range_delete(ss, range = "2:4") # delete a column range_delete(ss, range = "C") # delete a rectangle and specify how to shift remaining cells range_delete(ss, range = "B3:F4", shift = "left") # clean up gs4_find("range-delete-example") %>% googledrive::drive_trash() }
#> Creating new Sheet: "range-delete-example"
#> Editing "range-delete-example"
#> Deleting cells in sheet "Sheet1"
#> Editing "range-delete-example"
#> Deleting cells in sheet "Sheet1"
#> Editing "range-delete-example"
#> Deleting cells in sheet "Sheet1"
#> Files trashed: #> * range-delete-example: 10UerBDQxJv3FsZNzLrtLmx-BoZumwI7SzKT-1gSJMgw