excel - 如何将多个动态列组合成新工作表上的单个列
问题描述
我正在尝试将多个动态列组合成新工作表上的单个列。我编写的代码可以将多个下拉菜单中的选择转移到用户自己的单元格中,用户可以在其中选择多个选项。我正在尝试创建一个函数,将这些选择转移到新工作表上的单个列中。如果有人能告诉我如何将大约 8 列内的这种变化的行范围转移到一个新的工作表中,那就太好了,或者如果更容易直接将选择放在新的工作表上也可以。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oldvalue As String
Dim Newvalue As String
Application.EnableEvents = True
On Error GoTo Exitsub
If Target.Row = 11 Then
Dim rng As Range, cell As Range
Set rng = Range("A11:H11")
For Each cell In rng
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Dim val As String
val = ActiveCell.Value
ActiveCell.Offset(0, 9).Value = val
Else
If InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & "; " & Newvalue
'below begins addition from Shanell
Dim txt As String
Dim i As Integer
Dim FullName As Variant
txt = ActiveCell.Value
FullName = Split(txt, ";")
For i = 0 To UBound(FullName)
ActiveCell.Offset(i, 9).Value = FullName(i)
Next i
Else:
Target.Value = Oldvalue
End If
End If
End If
Next cell
End If
Set rng = ActiveCell.CurrentRegion
lastCell = rng.Columns(1).Rows.Count + 1
'Attempt to copy to new sheet'
For iCol = 11 To rng.Columns.Count
Range(Cells(11, iCol), Cells(rng.Columns(iCol).Rows.Count, iCol)).Cut
ActiveSheet.Paste Destination:=Worksheets("Links").Range("lastCell,A3")
lastCell = lastCell + rng.Columns(iCol).Rows.Count
Next iCol
我已经尝试过这段代码并且没有错误,但是这些值没有显示在新工作表上。我添加了一条评论,我尝试将这些值复制到新工作表中。
我还尝试了这样的一行代码:
Range("J11", Range("Q11").End(xlDown)).Copy Worksheets("Links").Range("A3:A")
但是,这也不起作用。
解决方案
推荐阅读
- python - CPPYY/CTYPES 将字符串数组作为 char* args[] 传递
- java - 无法将 txt 文件作为 JTextArea 读取
- python - 如何在python中将年划分为半年?
- ffmpeg - FFMPEG 连接协议或解复用多个 h264 和 aac mp4 是否更快?
- c# - 如何突出显示与 RichTextBox 文本中所有其他选择不同颜色的单词或短语?
- python - 如何通过比较两列uisng pandas来分组
- javascript - React 类如何 AnchorEl Popover
- json - 在 jsx 文件中导入 Json 字符串未检测到 \n 新行
- python - 从excel导入后如何在python中永久保存数据
- javascript - Rollup 将我的主类名 (SDK) 替换为 default() 名称