Vba 复制的区域搜索行中的下一个空单元格,但跳过合并的单元格
我见过很多人谈论这个问题,但更多的是从将合并的单元格复制到单个单元格的角度。我有一个过程,它从工作簿中获取一个范围,打开第二个工作簿并尝试将其粘贴到指定行的下一个空白单元格中Vba 复制的区域搜索行中的下一个空单元格,但跳过合并的单元格,vba,excel,merge,excel-2007,range,Vba,Excel,Merge,Excel 2007,Range,我见过很多人谈论这个问题,但更多的是从将合并的单元格复制到单个单元格的角度。我有一个过程,它从工作簿中获取一个范围,打开第二个工作簿并尝试将其粘贴到指定行的下一个空白单元格中 Public Sub BankBalances() Dim fname As String Dim fname2 As String Dim mt As String, yr As String 'get the selected month mt = MonthBox.Value 'get the selected ye
Public Sub BankBalances()
Dim fname As String
Dim fname2 As String
Dim mt As String, yr As String
'get the selected month
mt = MonthBox.Value
'get the selected year
yr = YearBox.Value
'set the file path to the selected year, month and the saving format
fname = yr & mt & "DB" & ".xlsx"
'set the file path to the selected year, month to open the trial balance sheet
fname2 = yr & mt & "TB" & ".xlsx"
'get the ranges
Dim rng1 As Range
Dim rng2 As Range
Set rng1 = Workbooks(fname2).Worksheets("excel").Range("I100")
'check for the next empty cell in row 55
Set rng2 = Workbooks(fname).Worksheets("UK monthly dashboard").Cells(55, Columns.Count).End(xlToLeft).Offset(0, 1)
'set the new range to hold the data from the original range
rng2.Value = rng1.Value
'set the result to format according to the other information in the workbook
rng2.Value = Round(rng1.Value / 1000, 0)
End Sub
上述代码将数据粘贴到未合并行的下一个空白单元格中。我需要它能够粘贴到合并的单元格中
我想知道的是,是否有一种方法可以使用VBA将数据放入合并的单元格中,或者是否需要执行单独的过程来检查合并的单元格,取消合并,然后在数据跨行复制后将其合并
如果是这样的话,我是否可以像检查下一个空单元格一样,检查它是否被合并,然后执行取消合并并再次合并
如果我理解你说的话,那么是的,但是如果我可以改变你的例子,我希望把A1的内容放进合并的D1:D2中。因此,它的值是一个单元合并成两个单元——4小时前的JamesDev 这就是你想要的吗
Sub Sample()
Dim Rng1 As Range
Dim Rng2 As Range
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
Set Rng1 = .Range("A1")
Set Rng2 = .Range("D1:D2")
'~~> Check if cells are merged
If Rng2.MergeCells Then
'~~> If merged then write to first cell
Rng2.Cells(1, 1).Value = Rng1.Value
Else
Rng2.Value = Rng1.Value
End If
End With
End Sub
可能重复?这是类似的,但因为这是一个问题,只是让范围复制它不是一个重复。第二,这也是我的问题,第三,这只是为了看看是否有人提出了任何东西,但我很高兴这一个被关闭。如果你复制说单元格A1:A5,你有D1:D5合并,那么你想A1:A5的内容“在”合并的单元格中吗?如果我明白你说的话,那么是的,但是如果我可以改变你的例子,我想把A1的内容放到D1:D2中合并。所以它的值是一个单元格合并成两个单元格,你需要合并单元格吗?我从不使用合并单元格,而是使用“在选定区域中居中”的格式,即单元格/对齐/水平/在选定区域中居中。这正是我想要的……但它还没有足够奇怪地解决问题,它仍然跳过单元格并将其放置在所需目标的右侧。单元格中都有破折号,我以前没怎么想过,但检查后,这意味着单元格中的值为0。我已经尝试过删除它,看看它是否有效,但仍然无效。因此,删除所有格式并删除值,这样就可以工作了,所以我很乐意将其标记为正确答案。查看范围以查看是否存在0、删除它并删除所有格式、复制范围并重新应用格式是否简单?