我想在每个名为“ $A$5:$A$37
”的工作表中的单元格Arbeitsblatt XX
中自动填充数据。
我能够获得一些有关自动填充部分以及在每个工作表中重复的代码。
来源:
现在,结合我的编码模板几乎成功了。我只能在包含相关按钮的工作表上自动填充,或者就像现在一样,如下面的代码所示,我可以选择每张工作表中的所有相关单元格,但不进行自动填充。
我想这与缺少对工作表的引用有关,但是我太愚蠢了,无法检测到。感谢您的帮助。
Sub FillDown()
Dim xRng As Range
Dim xRows As Long, xCols As Long
Dim xRow As Integer, xCol As Integer
Dim wsQ As Worksheet
Set xRng = Selection
Set currws = ActiveSheet
Application.ScreenUpdating = False
For Each wsQ In ThisWorkbook.Worksheets
If Left(wsQ.Name, 12) = "Arbeitsblatt" Then
With wsQ
wsQ.Activate
Cells(5, 1).Resize(33, 1).Select
xCols = xRng.Columns.CountLarge
xRows = xRng.Rows.CountLarge
For xCol = 1 To xCols
For xRow = 1 To xRows - 1
If xRng.Cells(xRow, xCol) <> "" Then
xRng.Cells(xRow, xCol) = xRng.Cells(xRow, xCol).Value
If xRng.Cells(xRow + 1, xCol) = "" Then
xRng.Cells(xRow + 1, xCol) = xRng.Cells(xRow, xCol).Value
End If
End If
Next xRow
Next xCol
currws.Activate
End With
End If
Next wsQ
Application.ScreenUpdating = True
End Sub
答案 0 :(得分:0)
我感到非常难过,看到有你的问题没有答案或建议呢。请让我尝试帮助。
我喜欢简单的代码,因此我尝试使用Excel提供的const arr1 = [{id: 1, user_id: 1},{id: 2, user_id: 2},{id: 3, user_id: 3},{id: 4, user_id: 4}]
const arr2 = [{id: '1', user_id: '1'},{id: '2', user_id: '2'},{id: '3', user_id: '3'}]
const newArray = [];
const lookup = {}; // if it is object...
for (const y of arr2) {
lookup[y.id]=true; // ... y.id remains string ...
}
for (const x of arr1) {
if(!lookup[x.id]) { // ... numbers are stringified when used as property accessor
newArray.push(x);
}
}
console.log(newArray);
方法。请参阅下面在示例工作簿上测试过的代码:
.AutoFill
我不确定您要自动填充的内容是什么,因此,此简单代码可能会或可能不够。如果您可以提供更多信息(例如,您要尝试自动填充哪些数据,并且始终以A5开头,或者是否已经将单元格填充了一半,而您只需要完成其余操作,等等)
请让我知道结果,以便我或其他人进一步提供帮助。谢谢。