首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA -剪切每行中的最后一项并粘贴到新列中。行的长度不同

VBA是Visual Basic for Applications的缩写,是一种用于Microsoft Office应用程序的编程语言。它可以用于自动化处理、数据分析、报表生成等任务。

针对剪切每行中的最后一项并粘贴到新列中的需求,可以使用VBA编写以下代码:

代码语言:txt
复制
Sub CutAndPasteLastItem()
    Dim lastColumn As Integer
    Dim lastRow As Integer
    Dim i As Integer
    
    lastColumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
    lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    
    For i = 1 To lastRow
        ActiveSheet.Cells(i, lastColumn + 1).Value = Split(ActiveSheet.Cells(i, lastColumn).Value, " ")(UBound(Split(ActiveSheet.Cells(i, lastColumn).Value, " ")))
        ActiveSheet.Cells(i, lastColumn).Value = Left(ActiveSheet.Cells(i, lastColumn).Value, Len(ActiveSheet.Cells(i, lastColumn).Value) - Len(Split(ActiveSheet.Cells(i, lastColumn).Value, " ")(UBound(Split(ActiveSheet.Cells(i, lastColumn).Value, " ")))))
    Next i
End Sub

这段代码会将活动工作表中每行的最后一项剪切并粘贴到新列中。具体步骤如下:

  1. 获取最后一列的列号和最后一行的行号。
  2. 使用循环遍历每一行。
  3. 使用Split函数将最后一项拆分成一个数组,以空格为分隔符。
  4. 使用UBound函数获取数组的最后一个元素的索引。
  5. 将最后一项的值复制到新列中。
  6. 使用Left函数截取原单元格中除最后一项之外的内容。
  7. 将截取后的内容赋值给原单元格。

这样,每行中的最后一项就会被剪切并粘贴到新列中。

关于VBA的更多信息和学习资源,可以参考腾讯云的VBA开发文档:VBA开发文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

常见复制粘贴,VBA是怎么做

复制粘贴可能是Excel中最常见操作,不然Microsoft怎么会把它们放置在最显眼显顺手位置。当然,使用Excel VBA时,复制操作单元格区域是一项基本技能。...此表显示了100名不同销售经理按单位数和总美元价值对特定项目(A、B、C、D和E)销售额。第一(主表上方)显示每个项目的单价,最后显示每位经理销售总值。...Transpose参数允许指定粘贴时是否转置复制区域(交换位置),可以设置为True或Flase。...如果忽略该参数,Excel不会转置复制区域。...(如上所示),可在过程末尾使用语句“Application.CutCopyMode=False”,可以取消剪切或复制模式删除移动边框。

11.4K20

linux vim命令详解_linux查看文件内容命令

,复制光标后n 以c开头都是剪切 “cw” 剪切一个单词 “cl” 剪切一个字母 “cc” 剪切一整行 “cnc” n为数字,剪切光标后n ###需要注意是,剪切后会进去插入模式!!!...“i” 在光标处插入字符 “I” 光标所在行首插入字符 “o” 光标所在行下一插入字符 “O” 光标所在行上以插入 “s” 删除光标所在字符插入字符 “S” 删除光标所在行插入字符...“a” 光标所在字符下一个字符插入 “A” 光标所在行行尾插入字符 “gg” 光标移动到首 “G” 光标移动到尾行 3、底模式 最后就是底模式了,命令模式下按“:”,光标就到最后了...nospell 关闭拼写检查功能 / 关键字 匹配关键字字符,高亮显示,按n匹配下一个,按N匹配上一个 在文件修改在退出后就失效了,想要永久更改就要更改vim配置文件“/etc/vimrc...”, 在后面加上设置就行了, 这里用法虽然不是全部用法,却是最常用,一般情况下,就够用了, 可视化模式 可视化模式下批量添加字符 1.把光标停留在想要加入字符所在第一 2.移动光标选择添加字符所在

7.7K40

常见复制粘贴,VBA是怎么做(续)

注意,这两个参数与Excel在“复制图片”对话框显示参数完全相同。 在VBA,“复制图片”对话框每个选项都有对应VBA设置值。...但是,如果只想将(i)值或(ii)特定源区域公式复制贴到另一个目标区域中,可能会发现它们很有用。...如何取消剪切或复制模式删除移动边框 如果在使用VBA复制和粘贴单元格或单元格区域时必须(或选择)使用剪贴板,则可能需要在宏结束之前取消剪切或复制模式,这将删除复制单元格区域周围移动边框。...取消剪切或复制模式删除移动轮廓VBA语句如下: Application.CutCopyMode = False 关于复制粘贴:其他VBA方法 基于本文介绍,可能还想学习或探索其他可用于粘贴其他对象或实现不同目标...7.Floor.Paste方法,用于将剪贴板图片粘贴到特定图表底层。 8.Point.Copy方法,(当图表系列一个点有图片填充时)将相关图片复制到剪贴板。

9.9K30

vim命令速记

:1,$s/word1/word2/g 1到最后... :1,$s/word1/word2/gc 提示用户对每一个替换进行确认 替换时参数 在linux下VIM替换命令格式是;[range]...dd 删除/剪切当前行 ndd 向下删除/剪切n dnG 删除/剪切光标所在行到第n d$ 删除/剪切光标到该行最后一个字符 d0 删除/剪切光标到该行第一个字符 yy 复制当前行 nyy 复制往下...n ynG 复制光标所在行到第n ... y与d类似 p 粘贴到下一 P 粘贴到上一 撤销 & 还原撤销 u 撤销相当于windows下ctrl+z ctrl+r 还原撤销 相当于ctrl+y...选中 & 复制 & 粘贴 v 进入visual模式,即文本选择模式 ctrl+v 进入块选择模式,可选中数据 v+ j/k/h/l 进行文本选中 对于选中文本进行如下按键: d:剪切操作 y:复制操作...强制退出 :wq 保存退出 : w[filename] 另存为名为filename文件 :n1,n2 w [filename] n1到n2内容另存为filename文件 :!

52020

Vim基础用法,最常用、最实用命令介绍(保姆级教程)

配置文件设置set number (设置行号)set nocompatible (设置不兼容vi模式,不设置会导致许多vim特性被禁用)set clipboard=unnamed (设置普通复制内容和...,给出文件名):wq (保存退出vim):q!...)y$ (复制当前字符到行尾)y^ (复制当前字符到首 )yG (从当前位置复制到文件结尾)yf+(任意字符), (从当前字符复制到任意字符)yy (复制当前一整行)p (粘贴)p (粘贴到游标所在行下方...)shift + p 或者叫大写P (粘贴到游标所在行上方)d (剪切/删除)vd/x (删除当前游标所在字符)dw (删除游标右边单词)db (删除游标左边单词)d$ (删除从当前游标到行尾...(删除当前一整行)d操作后,按p,就是剪切u (撤销)u (相当于ctrl + z)ctrl + r (取消撤销,相当于ctrl + y)选中v (选中当前游标的字符)ctrl + v (选中多/垂直选取

1.2K00

Shell实用工具

Shell好用工具: cut 使用cut可以切割提取指定字符字节数据 介绍 cut 译为“剪切, 切割”,是一个强大文本处理工具,它可以将文本按进行划分文本处理。...示例: 缓存空间数据交换 演示1: 第一贴到最后1 将模式空间第一复制到暂存空间(覆盖方式),并将暂存空间内容复制到模式空间中最后(追加方式) sed '1h;$G' sed.txt...演示2: 第一删除后粘贴到最后1 将模式空间第一复制到暂存空间(覆盖方式)删除, 最后将暂存空间内容复制到模式空间中最后(追加方式) sed '1{h;d};$G' sed.txt #...演示4: 将前3数据复制粘贴到最后 将前3数据复制到暂存空间(追加方式), 之后将暂存空间所有内容复制粘贴到模式空间最后(追加方式) sed '1,3H;$G' sed.txt ?...示例: 打印匹配第7数据 搜索passwd文件有root关键字所有, 然后以":"拆分打印输出第7 awk -F: '/root/{print $7}' passwd # -F: 以':'

7.8K10

快速学习-Linux(VIM编辑器)

关于vim: vi和vim都是Linux编辑器,不同是,vim比较高级,可以视为vi升级版本。vi使用于文本编辑,但是vim更适用于coding(写代码)。...② 剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定 按键:数字dd (删除之后下一上移) ③ 剪切/删除光标所在的当前行(光标所在位置)之后内容,但是删除之后下一不上移 按键:...末行模式进入之后特征:光标在最后上 编辑模式进入之后特征:在最后有类似于“------插入(insert)-----”提 注意:末行模式和编辑模式之间是没有办法直接切换,必须先走命令模式...:s/搜索关键词/内容/g 替换光标所在行全部符合条件内容 :%s/搜索关键词/内容 替换整个文档每行第一个符合条件内容 :%s/搜索关键词/内容/g 替换整个文档符合条件内容...,结束行号d”,例如输入“:1,10d” 一步到位复制语法——“:开始行号,结束行号 co 粘贴到行号” 剪切粘贴一步到位语法——“:开始行号,结束行号 m 粘贴到行号” 2.4、编辑模式

2.7K10

第五章 正则表达式&字符处理

和tail –n +3 行数控制,其原理是文档每行文字读取都借助与文档内部指针操作,指针指向哪一,就会读取哪一。...审核较为死板,很难按照我们想要效果实现截取,如有以下文件: aaa 111 AAA bbb 222 BBB 则每行文字空格数不同,在用cut时,是用第一个空格作为分隔符...G 获得内存缓冲区内容,追加当前模式空间中文本 命令 功能 l 列表不能打印所指定字符清单 n 读取下一个输入行,用下一个命令处理 N 追加下一个输入行到模式空间后面并在二者之间嵌入一个...,或者到脚本末尾 T label 错误分支,从最后开始开始,一旦满足要求,将直接到带有标号命令出,或者到脚本末尾 命令 功能 w file 写追加到模块空间file末尾 W file 写追加到模块空间第一到...光标所在行开始 p ---粘贴到光标的下一 dd ---剪切,即光标所在行 3dd ---剪切

2.1K20

Shell 正则表达式及综合案例及文本处理工具

“剪”,具体说就是在文件负责剪切数据用。...cut 命令从文件每行剪切字节、字符和字段并将这些字节、字符和字段输出 基本用法 cut [选项参数] filename 选项参数 选项参数 功能 -f 号,提取第几列 -d 分隔符,按照指定分隔符分割...搜索passwd文件以root关键字开头所有输出该行第7 cat /etc/passwd | awk -F ":" '/^root/ {print $7}' 2....搜索passwd文件以root关键字开头所有输入该行第1和第7 间以","分割 cat /etc/passwd | awk -F ":" '/^root/ {print 3...只显示/etc/passwd 第一和第七,以逗号分割,且在所有行前面添加 名"start"在最后添加"over"  cat /etc/passwd | awk -F ":" '/^root

32530

【Linux系统编程】Linux编辑器——vim

vi/vim区别简单点来说,它们都是多模式编辑器,不同是vim是vi升级版本,它不仅兼容vi所有指令,而且还有一些特性在里面。...另外,既然是多模式的话,就涉及到每种模式用法和差别,以及不同模式之间切换。 虽然是多模式,但是我们在日常开发中最常用也就3~5模式。 那常用模式都有哪些呢?...10,敲p,就到10下面了 就剪切完成了 那如果想一次剪切多行,同样,ndd,然后把光标移到你想要位置敲p就可以了,不继续操作,就是删除掉对应n 我现在3dd 3...比如,如何快速定位到文本最后: 现在有这样一长文本,我想直接定位到最后一个字符 Shift+4:移动到光标所在行文本“行尾” 直接定位到首 Shift+6:移动到光标所在行文本...如果一个普通用户无法使用 sudo,有可能是因为该用户还没有被添加到授权列表,或者没有正确配置 sudo 权限。 在默认配置下,普通用户是没有权限使用 sudo 命令

18810

_Shell 正则表达式及综合案例及文本处理工具

/archive_test.sh /scripts可以看得出确实添加了一个归档文件 六、Shell文本处理工具1. cut工具cut 工作就是“剪”,具体说就是在文件负责剪切数据用。...cut 命令从文件每行剪切字节、字符和字段并将这些字节、字符和字段输出基本用法 cut [选项参数] filename 选项参数选项参数功能-f号,提取第几列-d分隔符,按照指定分隔符分割,默认是制表符...搜索passwd文件以root关键字开头所有输出该行第7 cat /etc/passwd | awk -F ":" '/^root/ {print $7}'2....搜索passwd文件以root关键字开头所有输入该行第1和第7 间以","分割 cat /etc/passwd | awk -F ":" '/^root/ {print 3....只显示/etc/passwd 第一和第七,以逗号分割,且在所有行前面添加 名"start"在最后添加"over"  cat /etc/passwd | awk -F ":" '/^root

23010

Range单元格对象常用方法(一)

只是在VBA编程是通过代码形式来运行。 主要结合实例来具体说明。...下面以四个同样单元格演示如下: 删 除 Delete 方 法 删除delete方法也是使用excel常用操作,在excle手工删除时,系统会给如下图提示: 在使用VBA代码删除时,就需要在代码通过参数指定...代码删除A2单元格所在第2,删除了B2单元格所在B。 在具体实例中使用删除方法时,一定注意删除整行时要从由下向上删除。(从上向下产出容易产生错误)。...Range("a" & i) = "" Then Range("a" & i).EntireRow.Delete End If Next End Sub 首先通过单元格end属性获得最后行号...(这时结果是原本第5变成了第4,为空值)。而此时代码已经进入下一个循环i=5,判断A5单元格是否为空值。(A4单元格为空值但没有被判定。)代码错误就产生了。

1.9K40

Excel宏教程 (宏介绍与基本使用)

AutoCAD2000)等对VBA支持,这些软件也已进入到了VBA控制范 围;2、可以将用VBA编写程序复制到Visual Basic调试运行,从而实现用Visual Basic来控制有关应用程序...工作表索引号表明该工作表在工作表标签位置:第一个(最左边)工作表索引号为1,最后一个(最右边 )为Worksheets.Count。...Range代表工作表某一单元格、某一、某一、某一选定区域(该选定区域可包含一个或若干连续单元格区域)或者某一三维区域。...5、 :Rows、Columns、Row、Column Rows、Columns分别代表活动工作表、单元格区域范围Range、指定工作表所有行数、数。...可通过Rows(行号)、Columns(号)来引用相应;如Rows(3)、Columns(4)分别对应第三、D

6.3K10

VBA: 复制文本到剪贴板

文章背景: 得到文本之后,有时需要将内容复制到剪切板,在需要使用时再将其粘贴到合适位置。...Office版本:Office 365 操作系统:Win10 可以通过以下VBA代码进行任务实现: Sub CopyToClipboard2() Dim MyData As...Object Set MyData = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") ' 要复制字符串...End Sub 在这个示例,我们使用了 CreateObject 来创建一个 Clipboard 对象,然后使用 SetText 方法将要复制字符串设置为剪贴板文本内容,最后使用 PutInClipboard...请注意,不同版本 Office 可能对 Clipboard 对象支持略有不同,所以在某些情况下,您可能需要根据您 Office 版本进行适当调整。但大多数情况下,上面的代码应该能够工作。

1.6K10

Notion 编辑器原理分析

block 类型,如表格、、图片、段落等 4. version:版本,用于协同 ?...红色为表格下存储,值是存储在 properties ,属性 key 为列名,属性值为值,version 标识当前版本号。...markdown 转换器进行转换,转换后再通过 markdown-it 生成 html ,最后把 html 设置到剪切。...帖分成几步: 数据获取:获取剪切版里数据 解析数据:根据数据类型不一样,使用不同数据解析器来解析数据 数据应用:把解析出来数据生成 notion op ,通过执行完这些 op ,达到修改数据目的...剪切版里数据本来就有 html 格式,html 会先渲染到离屏 dom 对象,notion 会分别递归迭代解析这些 html 节点,然后通过遍历这棵 dom tree,把 dom node

2.4K30

Visual Studio Code 快捷键 Mac 版

⌘C 复制 ⌥↓ / ⌥↑ 移动当前行向 下/上 ⇧⌥↓ / ⇧⌥↑ 复制当前行向 下/上 ⇧⌘K 删除当前行 ⌘Enter / ⇧⌘Enter 在下/上 插入一 ⇧⌘\ 跳转到匹配括号 ⌘] /...切换行注释 ⇧⌥A 切换块注释 ⌥Z 切换文字换行 多光标和选择 Mac 快捷键 介绍 Alt+Click 插入光标 ⌥⌘↑ 在上面插入光标 ⌥⌘↓ 在下面插入光标 ⌘U 撤消上一个光标操作 ⇧⌥I 在所选每行末尾插入光标...⌘I 选择当前行 ⇧⌘L 选择当前选择所有事件 ⌘F2 选择当前单词所有出现 ⌃⇧⌘→ 展开选择 ⌃⇧⌘← 收缩选择 Shift+Alt + drag mouse(拖动鼠标) (框)选择 ⇧⌥⌘...Mac 快捷键 介绍 ⌘F 查找 ⌥⌘F 替换 ⌘G / ⇧⌘G 查找下一个/上一个 ⌥Enter 选择查找匹配所有匹配项 ⌘D 将选择添加到下一个查找匹配 ⌘K ⌘D 将最后一个选择移至下一个查找匹配项...⌘K 输入保持打开 ⌃Tab / ⌃⇧ 选项卡打开下一个/上一个 ⌘K P 复制活动文件路径 ⌘K R 在资源管理器显示活动文件 ⌘K O 在新窗口/实例显示活动文件 显示 Mac 快捷键 介绍

1.6K31

【工具】EXCEL十大搞笑操作排行榜

1.移动选择 打开一个表,想要查看最后是第几行,很多童鞋都是一直按方向箭,或者不厌其烦拖动滚动条,这是一个非常不好习惯,得改。童鞋,还记得键盘上 CTRL+DOWN吗?...可以快速跳转到该数据末尾处,还有CTRL+HOME,跳转到A1,CTRL+END,跳转到最后一个单元格,另 外,CTRL+A全选,CTRL+SHIFT+DOWN,选择当前到该数据末尾处,掌握这几个快捷键...先把A1:A10剪切,粘贴到C1,挪出位置,我再把B1:B10剪切,粘贴到 A1,再把C1:C10数据剪到到B1,剪切粘贴,剪切粘贴,再剪切粘贴,三次剪切粘贴搞定了吧?...6.选择性粘贴 如果A数据需要更新数据,比如,价格要全部打九折,80%用户是插入辅助,输入公式=A1*0.9,然后拖动填充,再复制到A1,再变为 值,再将辅助删除。...7.按排序 排序时候如果想要按排序,你会不会这样做,复制,到另一个空白单元格,转置,再排序,排序完之后再剪切转置粘贴回来。其实,排序里可以按排序。

3.1K60

VBA录制宏了解下

2.这些掌握了,你才敢说自己懂VBA 3.VBA变量5年踩坑吐血精华总结 4.VBA重要强制申明,谁看谁明白 5.VBA掌握循环结构,包你效率提高500倍 6.精通VBA分支结构,少写程序100...备注:录制宏过程,系统会自动生成一个模块,该模块放置了我们录制宏代码。...而②代码「Rows」英文表示,「"5:5"」我们刚刚操作是选中第5,那它应该是第5意思;后面的那个「.」经过查资料我们知道是动作或是属性;最后「Select」英文表示选择意思。...(3)复制录制「删除固定代码填充到前文代码框架 image.png 我们将代码粘贴到原来代码框架,调试后发现,这个代码有问题,永远都是删除第5,如果「贝左斯」不在第5,那不就操作错了吗...最后,案例对身价在900-1000之间富豪名称「披红」操作内容还没有填充,赶快使用「录制宏」功能进行实操吧。 image.png

1.9K10

VBA实战技巧20:选取不同工作表不同单元格区域时禁止用户执行复制剪切粘贴操作

excelperfect 在《VBA实战技巧19:根据用户在工作表选择来隐藏/显示功能区剪贴板组》,我们讲解了根据用户在工作表选择来决定隐藏或者显示功能区选项卡特定组技术。...现在,我们需要用户在不同工作表中选择不同区域时,禁止用户执行复制、剪切、粘贴操作。...例如,当用户选择工作表Sheet1A单元格时,不能执行复制、剪切、粘贴操作,同样在选择工作表Sheet2B2:B15区域时和工作表Sheet3B、C单元格时,也不能执行复制、剪切、粘贴操作...图1:当用户选择不同工作表中指定单元格时,不能执行复制、剪切、粘贴操作 首先,我们新建一个工作簿保存。...图2:在Custom UI Editor For Microsoft Office编辑输入XML 重新打开工作簿,按Alt+F11键打开VBA编辑器,插入一个标准模块,输入下面的代码: Public

2.2K20
领券