有vba在本工作簿的“w附注”工作表中全表精确查找“分类为以公允价值计量且其变动计入当期损益的金融资产”。如果其上一行的内容包含期末余额,则复制其所在位置后两行开始到第一个合计行之前结束的内容,数值粘贴到“附注校验”工作表的第221行,复制合计行内容数值粘贴到到“附注校验”工作表的第227行;继续查找下一个“分类为以公允价值计量且其变动计入当期损益的金融资产”,如果其上一行的内容包含期初余额,则复制其所在位置后两行开始到第一个合计行之前结束的内容,数值粘贴到“附注校验”工作表的第234行,复制合计行内容数值粘贴到到“附注校验”工作表的第240行。如果没有找到则完成


以下是一个使用 VBA 来解决此问题的示例代码: ```vb Sub FindAndCopyData() Dim wsWNote As Worksheet Dim wsCheck As Worksheet Dim findRange As Range Dim lastRow As Long Dim copyRange As Range Dim i As Long Dim startRow As Long Dim endRow As Long Dim found As Boolean Set wsWNote = ThisWorkbook.Sheets("w 附注") Set wsCheck = ThisWorkbook.Sheets("附注校验") lastRow = wsWNote.Cells(wsWNote.Rows.Count, 1).End(xlUp).Row For i = 1 To lastRow Set findRange = wsWNote.Cells(i, 1).EntireRow If InStr(1, findRange.Value, "分类为以公允价值计量且其变动计入当期损益的金融资产", vbTextCompare) > 0 Then found = True If InStr(1, wsWNote.Cells(i - 1, 1).Value, "期末余额", vbTextCompare) > 0 Then startRow = i + 2 endRow = FindFirstSumRow(startRow, wsWNote) - 1 Set copyRange = wsWNote.Range(wsWNote.Cells(startRow, 1), wsWNote.Cells(endRow, wsWNote.Columns.Count)) copyRange.Copy wsCheck.Rows(221).PasteSpecial xlPasteValues Set copyRange = wsWNote.Cells(FindFirstSumRow(startRow, wsWNote), 1) copyRange.Copy wsCheck.Rows(227).PasteSpecial xlPasteValues ElseIf InStr(1, wsWNote.Cells(i - 1, 1).Value, "期初余额", vbTextCompare) > 0 Then startRow = i + 2 endRow = FindFirstSumRow(startRow, wsWNote) - 1 Set copyRange = wsWNote.Range(wsWNote.Cells(startRow, 1), wsWNote.Cells(endRow, wsWNote.Columns.Count)) copyRange.Copy wsCheck.Rows(234).PasteSpecial xlPasteValues Set copyRange = wsWNote.Cells(FindFirstSumRow(startRow, wsWNote), 1) copyRange.Copy wsCheck.Rows(240).PasteSpecial xlPasteValues End If End If Next i If Not found Then MsgBox "未找到指定内容" End If End Sub Function FindFirstSumRow(startRow As Long, ws As Worksheet) As Long Dim i As Long For i = startRow To ws.Rows.Count If InStr(1, ws.Cells(i, 1).Value, "合计", vbTextCompare) > 0 Then FindFirstSumRow = i Exit Function End If Next i FindFirstSumRow = ws.Rows.Count + 1 End Function ``` 在上述代码中,首先定义了两个工作表对象 `wsWNote` 和 `wsCheck`,分别表示 `w 附注` 工作表和 `附注校验` 工作表。然后通过循环遍历 `w 附注` 工作表中的每一行,查找指定的文本。根据其上一行的内容判断是期初余额还是期末余额,确定复制和粘贴的起始行和结束行,并进行复制和粘贴操作。`FindFirstSumRow` 函数用于查找第一个包含 "合计" 的行。 在实际使用前,请根据您的工作簿结构和数据进行适当的调整和测试。 [2024-10-14 16:44:18 | AI写代码神器 | 830点数解答]
- 题目描述 输入三个整数 x , y , z x,y,z, 如果 x x为奇数,输出 1 ∼ y 1∼y之间的所有数,如果 x x为偶数,输出 1 ∼ z 1∼z之间的所有数。 输入格式 输入包括一行,包含三个整数 x , y , z x,y,z,数字之间用空格隔开。 输出格式 输出包括一行 如果 x x为奇数,输出 1 ∼ y 1∼y之间的所有数,如果 x x为偶数,输出 1 ∼ z 1∼z之间的所有数,输出时,数与数之间用1个空格隔开。 input1 复制 1 10 5 output1 复制 1 2 3 4 5 6 7 8 9 10 input2 复制 4 20 4 output2 复制 1 2 3 4 样例解释 对于样例 1 1: x x是奇数, y = 10 y=10,因此输出 1 ∼ 10 1∼10。 对于样例 2 2: x x是偶数, z = 10 z=10,因此输出 1 ∼ 4 1∼4 。 c++ (391点数解答 | 2025-06-14 09:57:45)123
- pandas读取文件,文件某一列分组,条件为列数据字段中包含“一级”为一组,没有“一级”的为一组,将pandas读取到的文件按地市映射表分为各地市文件,再将这个文件当作邮件附件,邮件正文为某地市,有“一级”多少,没有“一级”多少,语言方向:Python,系统环境:Windows(459点数解答 | 2024-12-25 01:17:06)137
- 题目描述 现有三条边长 a , b , c a,b,c,编写程序判断三条边能否构成三角形,若能构成三角形,则继续判断能否构成等腰三角形,等边三角形。 任意两边之和大于第三边才能构成三角形, 等腰三角形:至少有两条边相等的三角形 等边三角形:三条边都相等的三角形 输入格式 一行,三个正整数 a , b , c a,b,c 依次表示三条边的长度。 输出格式 输出对应的判断结果: 若能构成三角形,单独使用一行输出“三角形” 若能构成等腰三角形,单独使用一行输出“等腰三角形” 若能构成等边三角形,单独使用一行输出“等边三角形” 若无法构成三角形,输出 “No” input1 复制 3 3 3 output1 复制 三角形 等腰三角形 等边三角形 input2 复制 3 3 5 output2 复制 三角形 等腰三角形 input3 复制 1 2 3 output3 复制 No 语言方向:C++ 系统环境:Windows(214点数解答 | 2025-08-24 17:31:55)56
- 题目描述 现有一个正整数 n n 请判断 n n 是否为 3 , 5 , 7 3,5,7 的倍数 输入格式 一行,一个正整数 n n。 输出格式 判断 n n 是否为 3 , 5 , 7 3,5,7 的倍数,若是则输出对应的数字,否则不输出,注意输出时,如果有多个满足的数字,数字之间需要使用一个英文逗号间隔 input1 复制 9 output1 复制 3 input2 复制 70 output2 复制 5,7 input2 复制 210 output2 复制 3,5,7 语言方向:C++ 系统环境:Windows(185点数解答 | 2025-08-24 18:42:18)46
- 题目描述 输入三个整数 x , y , z x,y,z, 如果 x x为奇数,输出 1 ∼ y 1∼y之间的所有数,如果 x x为偶数,输出 1 ∼ z 1∼z之间的所有数。 输入格式 输入包括一行,包含三个整数 x , y , z x,y,z,数字之间用空格隔开。 输出格式 输出包括一行 如果 x x为奇数,输出 1 ∼ y 1∼y之间的所有数,如果 x x为偶数,输出 1 ∼ z 1∼z之间的所有数,输出时,数与数之间用1个空格隔开。 c++(372点数解答 | 2025-07-06 15:39:04)79
- 题目描述 现有 n n 个正整数,乌拉乎希望把这些数进行分类, 按照原本的顺序,先依次输出这些数中所有的奇数,再依次输出所有的偶数。 输入格式 两行,一个正整数 n n, 第二行依次为 n n 个正整数,数与数之间以一个空格间隔。 输出格式 共两行, 第一行依次输出所有的奇数,数与数之间以一个空格间隔, 第二行依次输出所有的偶数,数与数之间以一个空格间隔。 input1 复制 5 3 4 2 1 5 output1 复制 3 1 5 4 2 input2 复制 7 5 7 4 7 6 6 3 output2 复制 5 7 7 3 4 6 6(316点数解答 | 2025-08-03 07:44:31)52
- 题目描述 现有 n n 个正整数,乌拉乎希望把这些数进行分类, 按照原本的顺序,先依次输出这些数中所有的奇数,再依次输出所有的偶数。 输入格式 两行,一个正整数 n n, 第二行依次为 n n 个正整数,数与数之间以一个空格间隔。 输出格式 共两行, 第一行依次输出所有的奇数,数与数之间以一个空格间隔, 第二行依次输出所有的偶数,数与数之间以一个空格间隔。 input1 复制 5 3 4 2 1 5 output1 复制 3 1 5 4 2 input2 复制 7 5 7 4 7 6 6 3 output2 复制 5 7 7 3 4 6 6 语言方向:C++(402点数解答 | 2025-08-03 07:44:57)65
- 题目描述 现有 n n 个正整数,乌拉乎希望把这些数进行分类, 按照原本的顺序,先依次输出这些数中所有的奇数,再依次输出所有的偶数。 输入格式 两行,一个正整数 n n, 第二行依次为 n n 个正整数,数与数之间以一个空格间隔。 输出格式 共两行, 第一行依次输出所有的奇数,数与数之间以一个空格间隔, 第二行依次输出所有的偶数,数与数之间以一个空格间隔。 input1 复制 5 3 4 2 1 5 output1 复制 3 1 5 4 2 input2 复制 7 5 7 4 7 6 6 3 output2 复制 5 7 7 3 4 6 6 数据规模与约定 对于 100 % 100% 的数据, 2 ≤ n ≤ 100 2≤n≤100, 1 ≤ 1≤ 每个正整数 ≤ 10000 ≤10000。 语言方向:C++ 系统环境:Windows(246点数解答 | 2025-08-03 07:48:54)76
- 题目描述 请从小到大输出 1 ~ n n 中所有个位为 5 5 或者个位为 8 8 的整数,每行 1 1 个。 输入格式 一行,一个正整数 n n。 输出格式 若干行,每行一个正整数,即 1 ~ n n 中所有满足条件的数。 input1 复制 20 output1 复制 5 8 15 18 input2 复制 30 output2 复制 5 8 15 18 25 28 数据规模与约定 对于 100 % 100% 的数据, 1 < n ≤ 10000 1<n≤10000。 语言: *********101112131415 在线(439点数解答 | 2025-07-20 15:05:34)71
- 题目描述 请从小到大输出 1 ~ n n 中所有个位为 5 5 或者个位为 8 8 的整数,每行 1 1 个。 输入格式 一行,一个正整数 n n。 输出格式 若干行,每行一个正整数,即 1 ~ n n 中所有满足条件的数。 input1 复制 20 output1 复制 5 8 15 18 input2 复制 30 output2 复制 5 8 15 18 25 28 数据规模与约定 对于 100 % 100% 的数据, 1 < n ≤ 10000 1<n≤10000。 语言: *********101112131415 在线 c++ (230点数解答 | 2025-07-20 15:09:35)107
- 题目描述 从键盘读入一个字符,有可能是大写字母、小写字母、数字字符中的一种,请编程判断,该字符具体是什么字符。 如果是大写字母请输出 "upper" , 如果是小写字母请输出 "lower" , 如果是数字字符请输出 "digit" 。 输入格式 一行,包含一个字符 c c。 输出格式 根据字符类型,输出对应的内容。 input1 复制 A output1 复制 upper input2 复制 5 output2 复制 digit 语言方向:C++ 系统环境:Windows(157点数解答 | 2025-08-30 21:50:59)32
- 题目描述 某测试会根据考生的分数,划分四个等级,具体规则是: 60 60 分以下:不合格 60 60 分及以上 ~ 80 80 分以下:合格 80 80 分及以上 ~ 90 90 分以下:良好 90 90 分及以上 ~ 100 100 分:优秀 输入格式 一行,一个数 a a 表示某考生的分数。 输出格式 输出对应的等级 input1 复制 59.5 output1 复制 不合格 input2 复制 89.9 output2 复制 良好 数据规模与约定 对于 100 % 100% 的数据, 0 ≤ a ≤ 100 0≤a≤100。(234点数解答 | 2025-08-31 12:55:23)32