如何把Excel中选定的一列数据复制粘贴到另一列相同的列中,要用宏来自动复制粘贴。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把Excel中选定的一列数据复制粘贴到另一列相同的列中,要用宏来自动复制粘贴。相关的知识,希望对你有一定的参考价值。
名称 代码 券别 昨日余额 当日余额 B1 B2 B3 轧库
A1 12 10 470.00 940.00 500.00 30.00 60.00 880.00
A2 13 10 550.00 700.00 200.00 50.00 80.00 700.00
A3 13 10 880.00 400.00 100.00 40.00 50.00 900.00
我需要把轧库(轧库的数据是昨日余额-B3自动得出的)下的A1至A3复制粘贴到昨日余额下在的A1至A3,然后清除A1B1至A3B3里面所有的数据(这样第二天又可以用了),有谁知道帮帮忙,帮我弄个宏出来吧,我搞了几天都搞不出来,自己是菜鸟一个,哎。
Sub Macro1()
'
' Macro1 Macro
' 宏由 jhboc 录制,时间: 2011-11-23
'
' 快捷键: Ctrl+a
'
Range("I4:I11").Select
Selection.Copy
Application.CutCopyMode = False
Selection.Copy
Range("D4:D11").Select
Application.CutCopyMode = False
ActiveSheet.Paste
Range("F4:H11").Select
Selection.ClearContents
End Sub
我自己录制了一个宏,运行的时候提示,运行时错误“1004”
类Worksheet 的 Paste 方法无效,请帮忙解决,谢谢。
下面是我录制的宏,可能和你实际需要的不同,自己录制一个最好。
Sub 宏1()
'
' 宏1 宏
'
'
Range("I2:I4").Select
Selection.Copy
Range("D2:D4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("F2:H4").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("F2").Select
End Sub
------------------------------------------------------
你重新录制一下,操作要简洁。 参考技术A 问题说得不是很明白 参考技术B 我也想知道,请大家帮帮忙
如何将值从一列映射到另一列数据框? [复制]
【中文标题】如何将值从一列映射到另一列数据框? [复制]【英文标题】:How to map values from a one column to another column of dataframe? [duplicate] 【发布时间】:2018-12-27 23:48:41 【问题描述】:我有两列 company_size
和 company_type
。 company_size
包含我想根据 company_type
列填充的 NaN 值。如何映射到特定值以便我可以填充 NaN 值,即基于 company_type
中的缺失值 company_size
。
示例数据:
company_size company_type
10-50 startup
1000+ PvtLtd
NaN Public Sector
NaN PvtLtd
100-500 Public Sector
NaN startup
100-500 Public Sector
现在基于 company_type 我想填写 company_size。
startup -> 10-50
Public Sector -> 100-500
PvtLtd -> 1000+
注意 company_type 和 company_size 都是分类变量。
【问题讨论】:
@stonerock 你可以选择company_size为NaN的行 你有没有尝试过?这与您回答的上一个问题非常相似。 :)) 我认为它根本不是映射。为什么不只是 groupbycompany_type
和 ffill 或 bfill
与其提出已经在论坛上回答的问题,您可以先做一些研究并为我们所有人节省一些时间:)
我认为人们不愿意发布答案,因为这个问题几乎可以肯定在本网站的其他地方得到了回答,而且今天早些时候回答了一个几乎相同的问题(由你提出),方法很容易展开来回答这个问题。
【参考方案1】:
您可以先按公司规模排序,确保NaN
s 在末尾,然后使用groupby
和ffill
,然后再次按索引排序以恢复原始订单:
df.sort_values('company_size').groupby('company_type').ffill().sort_index()
company_size company_type
0 10-50 startup
1 1000+ PvtLtd
2 100-500 Public Sector
3 1000+ PvtLtd
4 100-500 Public Sector
5 10-50 startup
6 100-500 Public Sector
【讨论】:
我不想更改数据的顺序 然后在最后按索引排序(见我编辑的答案)【参考方案2】:groupby
您的公司时间,以及 transform('first')
以摆脱 NaN 值:
df['company_size'] = df.groupby("company_type")["company_size"].transform("first")
company_size company_type
0 10-50 startup
1 1000+ PvtLtd
2 100-500 PublicSector
3 1000+ PvtLtd
4 100-500 PublicSector
5 10-50 startup
6 100-500 PublicSector
【讨论】:
以上是关于如何把Excel中选定的一列数据复制粘贴到另一列相同的列中,要用宏来自动复制粘贴。的主要内容,如果未能解决你的问题,请参考以下文章
如何从一个DataTable中复制数据行到另一个DataTable中