ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
Python自动化办公应用大全 Excel 2021函数公式学习大典 Kutools for Office 套件发布 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 576|回复: 8

[求助] 请教,当 D, F 列数据满足一定条件时,则更改 F 列的数据,代码怎么写?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-12-2 15:40 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请教,要实现以下功能,代码怎么写?
数据行数变化不定。希望代码运行时,弹窗提示输入起始的行数。结尾行数 R = Sheet1.Cells(Rows.Count, 4).End(xlUp).Row
如果 D 列数据 Like "?W?????????? *" (即包含类似 1W0993000004 这样的数据),并且 F 列数据不含 "-B",则
如果 F 列含 CN...,则把 F 列的 CN 改为 CN-B,
如果 F 列含 PRC...,则把 F 列的 CN 改为 CN-B,

模拟效果如 G 列所示。


谢谢!

Snip_15-38-55.jpg

工作簿1.zip (8.74 KB, 下载次数: 2)

TA的精华主题

TA的得分主题

发表于 2024-12-2 20:52 | 显示全部楼层
image.png
image.png
image.png

工作簿1.7z

15.87 KB, 下载次数: 11

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-12-2 21:13 | 显示全部楼层
sub test()
dim arr, brr, i
with range([a1], [f65536].end(xlup)
      arr=.value
      brr= .columns(6)
      for i=2 to ubound(arr)
           if arr(i, 4) like "#W########## *" and instr(brr(i, 1), "-B")=0 then
             brr(i, 1)=replace(repalce(brr(i, 1), "CN","CN-B"), "PRC","PRC-B")
           end if
     next i
     .columns(6)=brr
end with
end sub

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-12-2 22:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
准提部林 发表于 2024-12-2 21:13
sub test()
dim arr, brr, i
with range([a1], [f65536].end(xlup)
  1. Sub 准提部林()
  2. Dim arr, brr, i
  3. With Range([a1], [f65536].End(xlUp)<font color="#ff0000">)</font>
  4.       arr = .Value
  5.       brr = .Columns(6)
  6.       For i = 2 To UBound(arr)
  7.            If arr(i, 4) Like "#W########## *" And InStr(brr(i, 1), "-B") = 0 Then
  8.              brr(i, 1) = Replace(Rep<font color="#ff0000">la</font>ce(brr(i, 1), "CN", "CN-B"), "PRC", "PRC-B")
  9.            End If
  10.      Next i
  11.      .Columns(6) = brr
  12. End With
  13. End Sub
复制代码
修正了代码中的小笔误,运行无误。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-3 15:08 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-3 15:09 | 显示全部楼层
准提部林 发表于 2024-12-2 21:13
sub test()
dim arr, brr, i
with range([a1], [f65536].end(xlup)

感谢准提部林指点。改了缺的半个“)",和一处拼写错误后,运行正常。感谢!

TA的精华主题

TA的得分主题

发表于 2024-12-3 16:28 | 显示全部楼层
转角处的沉思 发表于 2024-12-2 22:17
修正了代码中的小笔误,运行无误。

單憑需求條件..信手寫出, 並未用附件測試~~

TA的精华主题

TA的得分主题

发表于 2024-12-3 16:29 | 显示全部楼层
vexce 发表于 2024-12-3 15:09
感谢准提部林指点。改了缺的半个“)",和一处拼写错误后,运行正常。感谢!

看需求邏輯清楚,
隨手逐字敲打出來, 沒去糾錯~~

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-19 11:24 | 显示全部楼层
准提部林 发表于 2024-12-3 16:29
看需求邏輯清楚,
隨手逐字敲打出來, 沒去糾錯~~

对任何需求都能信手拈来,真心佩服这编程水平。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-12-18 09:13 , Processed in 0.028048 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表