如何把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 方法无效,请帮忙解决,谢谢。

你的操作其实很简单,根本不需要学习VB,只需要录制一个宏就好了。
下面是我录制的宏,可能和你实际需要的不同,自己录制一个最好。

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_sizecompany_typecompany_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的行 你有没有尝试过?这与您回答的上一个问题非常相似。 :)) 我认为它根本不是映射。为什么不只是 groupby company_type 和 ffill 或 bfill 与其提出已经在论坛上回答的问题,您可以先做一些研究并为我们所有人节省一些时间:) 我认为人们不愿意发布答案,因为这个问题几乎可以肯定在本网站的其他地方得到了回答,而且今天早些时候回答了一个几乎相同的问题(由你提出),方法很容易展开来回答这个问题。 【参考方案1】:

您可以先按公司规模排序,确保NaNs 在末尾,然后使用groupbyffill,然后再次按索引排序以恢复原始订单:

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中

vbs控制excel,表一复制到表二的空白行

用python自动复制粘贴excel表里某一列的数据到另一个表中

SQL - 将数据从同一表中的一列复制到另一列

怎么把excel一列变成一行数据库

按键精灵逐条复制EXCEL到另一个程序上