网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月11日漏签0天
excel吧 关注:281,588贴子:1,552,381
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 35回复贴,共1页
<<返回excel吧
>0< 加载中...

大神!请问如何修改哪句代码才能取数呢?

  • 只看楼主
  • 收藏

  • 回复
  • 风亦涵
  • E知半解
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

如上图所示,要修改如下代码里的哪一句才能生成对方科目呢?谢谢!
Sub XXL凭证生成对方科目()
Dim data, i&, dic, temp, X&
data = ThisWorkbook.Worksheets("XXL").UsedRange.Value
Set dic = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(data)
If InStr(dic(data(i, 1) & data(i, 2)), data(i, 4)) = 0 Then
If data(i, 5) <> "" Then
If dic(data(i, 1) & data(i, 2)) = "" Then
dic(data(i, 1) & data(i, 2)) = data(i, 4) & "|"
Else
temp = Split(dic(data(i, 1) & data(i, 2)), "|")
If temp(0) = "" Then
temp(0) = data(i, 4)
Else
temp(0) = temp(0) & "," & data(i, 4)
End If
dic(data(i, 1) & data(i, 2)) = Join(temp, "|")
End If
Else
If dic(data(i, 1) & data(i, 2)) = "" Then
dic(data(i, 1) & data(i, 2)) = "|" & data(i, 4)
Else
temp = Split(dic(data(i, 1) & data(i, 2)), "|")
If temp(1) = "" Then
temp(1) = data(i, 4)
Else
temp(1) = temp(1) & "," & data(i, 4)
End If
dic(data(i, 1) & data(i, 2)) = Join(temp, "|")
End If
End If
End If
Next i
For i = 2 To UBound(data)
If data(i, 5) <> "" Then X = 1 Else X = 0
data(i, 8) = Split(dic(data(i, 1) & data(i, 2)), "|")(X) '刮号里的数字表示列号,第一个括号里的8则表示为第8列,生成的对方科目放在此列。
Next i
ThisWorkbook.Worksheets("XXL").[A1].Resize(UBound(data), UBound(data, 2)) = data
End Sub


  • 东门nn吸雪
  • E手遮天
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
同类问题:https://club.excelhome.net/thread-1313448-1-5.html


2025-09-11 14:34:50
广告
不感兴趣
开通SVIP免广告
  • 中岀皮卡丘
  • E知半解
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
市面上的公式和那些vba代码都用过,直接上最终结论,唯一真神只有方方格子出的audtool审计专版,准确匹配。下至费用勾稽,上至借贷方发生额分析,一步到位。


  • 东门nn吸雪
  • E手遮天
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

不是修改你的代码,用数组方法;除了多对多速度还行,具体自己看吧
vba参考:https://blog.csdn.net/hhhhh_51/article/details/130957929


  • xsghk
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

不懂这一行业,就先猜一猜。
Public Function duifang(pingzheng, kemu, ke)
Dim pz, km, y&, zihao
pz = pingzheng
km = kemu
zihao = ke.Offset(0, pingzheng.Column - ke.Column)
For y = 1 To UBound(pz)
If pz(y, 1) = zihao Then
If km(y, 1) <> ke Then
duifang = km(y, 1)
Exit Function
End If
End If
Next
End Function


  • xsghk
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

Public Function duifang2(pingzheng, kemu, ke)
Dim pz, km, y&, zihao
pz = pingzheng
km = kemu
zihao = ke.Offset(0, pingzheng.Column - ke.Column)
For y = 1 To UBound(pz)
If pz(y, 1) = zihao Then
If km(y, 1) <> ke Then
duifang2 = duifang2 & "," & km(y, 1)
End If
End If
Next
duifang2 = Right(duifang2, Len(duifang2) - 1)
End Function


  • 风亦涵
  • E知半解
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • xsghk
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
针对10楼的图:
G2单元格的公式:=wanglai(D2)
H2单元格的公式:=duifang(B2,B$2:B$29,D$2:F$29)
i2单元格的公式:=yiji(D2)
代码如下(要把8楼和9楼的代码删除掉):
Public Function wanglai(kemuo) '往来明细(科目单元格)
If InStr(kemuo, "应收账款") + InStr(kemuo, "应付账款") + _
InStr(kemuo, "预收账款") + InStr(kemuo, "预付账款") > 0 Then
wanglai = Replace(kemuo, Split(kemuo, "-")(0) & "-", "")
Else
wanglai = ""
End If
End Function
Public Function duifang(zihao, pingzheng, kemuo_jie_dai)
'对方科目(字号单元格,凭证字号1列区域,科目+借方金额+贷方金额相连的3列区域)
Dim zh, pz, kjd, K&, jie#, dai#, jie2#, dai2#, y&, yJ, D
zh = zihao
pz = pingzheng
kjd = kemuo_jie_dai
K = zihao.Row - pingzheng.Row + 1
jie = kjd(K, 2)
dai = kjd(K, 3)
Set D = CreateObject("scripting.dictionary")
For y = 1 To UBound(pz)
If (pz(y, 1) = zh) And (y <> K) Then
jie2 = kjd(y, 2)
dai2 = kjd(y, 3)
If (jie * jie2 < 0) + (jie * dai2 <> 0) + (dai * dai2 < 0) + (dai * jie2 <> 0) Then
yJ = yiji(kjd(y, 1))
If Not D.exists(yJ) Then
D(yJ) = 1
duifang = duifang & "/" & yJ
End If
End If
End If
Next
duifang = Right(duifang, Len(duifang) - 1)
End Function
Public Function yiji(kemuo) '一级科目(科目单元格)
Dim n%
For n = 0 To 9
kemuo = Replace(kemuo, n, "")
Next
yiji = Trim(Split(kemuo, "-")(0))
End Function


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 35回复贴,共1页
<<返回excel吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示