excel - 选择行并复制到列
问题描述
我想复制一个特定的行,例如我想在这张图片中选择 jake 的分数
现在我想把它们复制成这样
我问了社区,他们帮了我很多,我想出了这段代码:
Sub main()
Dim rangeSrc As Range, range1 As Range
Set rangeSrc = Application.InputBox("Select src Range", "select src range", Type:=8) 'type 8 = range
Set range1 = Application.InputBox("select des range", "select des range", Type:=8)
If Not rangeSrc Is Nothing And Not range1 Is Nothing Then
rangeSrc.Copy range1
End If
End Sub
解决方案
你快到了:
- 您需要
.PasteSpecial Transpose:=True
转置您的数据。 - 我插入了一个错误处理,以便用户能够按下取消按钮。
- 我重命名了你的变量,因为
range1
它不是一个好的变量名。使用有意义的名称可以更轻松地阅读和维护您的代码。
所以你最终得到......</p>
Option Explicit
Public Sub main()
On Error Resume Next 'don't error on cancel button
Dim rngSource As Range
Set rngSource = Application.InputBox("Select src Range", "select src range", Type:=8) 'type 8 = range
Dim rngDest As Range
Set rngDest = Application.InputBox("select des range", "select des range", Type:=8)
On Error GoTo 0 're-activate error reporting
If Not rngSource Is Nothing And Not rngDest Is Nothing Then
rngSource.Copy
rngDest.PasteSpecial Transpose:=True
End If
End Sub
如果您只想粘贴值而不进行格式化,请使用...</p>
rngDest.PasteSpecial Paste:=xlPasteValues, Transpose:=True
有关详细信息,请参阅Range.PasteSpecial 方法和xlPasteType 枚举。
推荐阅读
- python - 根据特定类别名称过滤对象
- c - Linux SPARSEMEM 内存模型真的很稀疏吗?
- swift - 在 iOS13.1 上播放音频时应用程序崩溃
- c# - 为什么gridview dropdownlist selectedIndex在selectedIndexChange上总是2(甚至不是0或1或3)?
- linux - mxc_edid.c 中的 1920x720 支持,嵌入式 Linux
- tcp - 查看小于应有大小的 Wireshark 数据包
- django - Django 表单字段未显示在网页上
- c++ - 在 CLion 项目中链接提升
- javascript - 如何在带有承诺的javascript异步函数之后调用函数?
- amazon-web-services - AWS 负载均衡器允许 URL 路径上的某些 IP 地址