ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 兰色幻想

带你入门VBA系列之:不懂的代码快点贴过来

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-7-5 11:59 | 显示全部楼层

SQL = "SELECT SPD.商品编码,SPD.商品名称,SPD.商品规格,SPD.单位,"
SQL = SQL & "IIF(ISNULL(AA.进货数量合计),0,AA.进货数量合计)-IIF(ISNULL(BB.销售数量合计),0,BB.销售数量合计) as 数量,"
SQL = SQL & "IIF(ISNULL(AA.进货金额合计),0,AA.进货金额合计)-IIF(ISNULL(BB.销售金额合计),0,BB.销售金额合计) as 金额 "
SQL = SQL & "from( SPD left JOIN (select SPD.商品编码,B.进货数量合计,B.进货金额合计"
SQL = SQL & " from SPD left JOIN (select JHD.商品编码,sum(进货数量) as 进货数量合计,sum(进货金额) as 进货金额合计"
SQL = SQL & " from JHD where MID(进货清单号,3,8)<" & TextBox1.Value & " group by JHD.商品编码 ) B on SPD.商品编码=B.商品编码) AA on SPD.商品编码=AA.商品编码 )"
SQL = SQL & " left JOIN (select SPD.商品编码,A.销售数量合计,A.销售金额合计 from SPD left JOIN (SELECT XSD.商品编码,SUM(销售数量) AS 销售数量合计,sum(销售成本) as 销售金额合计"
SQL = SQL & " from XSD where MID(销售清单号,3,8)< " & TextBox1.Value & " group by XSD.商品编码 ) A on SPD.商品编码=A.商品编码) BB on SPD.商品编码=BB.商品编码 "

上述代码是从http://club.excelhome.net/dispbbs.asp?boardid=2&replyid=404679&id=169114&page=1&skin=0&Star=3

中复制过来的!看不懂,请版主指教

谢!

TA的精华主题

TA的得分主题

发表于 2006-7-5 13:26 | 显示全部楼层

老师,请问什么是: 宏录制器? 它有什么用?? 碰到什么情况可以用它?  谢谢~!!

TA的精华主题

TA的得分主题

发表于 2006-7-5 15:07 | 显示全部楼层

Rn = Cells(65536, 1).End(xlUp).Row: Cn = 28

这段代码的大概意思我知道的,就是选定行的范围的吧,可是Cn = 28不知道什么意思,谢谢。。

TA的精华主题

TA的得分主题

发表于 2006-7-5 18:45 | 显示全部楼层
QUOTE:
以下是引用zhankewen在2006-7-5 13:26:32的发言:

老师,请问什么是: 宏录制器? 它有什么用?? 碰到什么情况可以用它?  谢谢~!!

兰老师的视频教程

TA的精华主题

TA的得分主题

发表于 2006-7-5 23:21 | 显示全部楼层

兰版,能帮忙解释下以下代码的意思吗?谢谢

Private Sub Worksheet_Activate()
For Each sh In Worksheets
If sh.Name <> "Sheet4" Then sh.Visible = xlSheetVeryHidden
Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Value = "" Or Target.Column > 1 Then Exit Sub
Sheets(Target + 1).Visible = True
Sheets(Target + 1).Activate
End Sub

[此贴子已经被作者于2006-7-5 23:22:09编辑过]

TA的精华主题

TA的得分主题

发表于 2006-7-6 09:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

不好意思,发错地方了

[此贴子已经被作者于2006-7-6 14:55:09编辑过]

TA的精华主题

TA的得分主题

发表于 2006-7-6 09:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢 爱歌学习 ..

TA的精华主题

TA的得分主题

发表于 2006-7-8 00:23 | 显示全部楼层

请教动态调用另一个工作簿中的工作表单元的值

请教下面程序中,在IF与END IF之间的语句什么地方出错了.提示EXPECTED:END OF STATEMENT

工作表WI的A列是另一个工作簿Cable & Conduit - 2006.xls的工作表名,就是想让WI的B列为引用对应于A列的工作表中的数据,谢谢指教.

Sub WI()
  
   Dim i As Long, iRows As Long

    iRows = Worksheets("WI").Range("A65536").End(xlUp).Row

     For i = 11 To iRows

        If Worksheets("WI").Range("A" & i).Value <> "" Then

          Worksheets("WI").Range("B"&i).formula="=IF(TODAY()>=B$10,'W:\Warehouse\CI\Test\[Cable & Conduit - 2006.xls]"Worksheets("WI").Range("A"&i).Value "'!B$420,""),

        End If

    Next i


End Sub

TA的精华主题

TA的得分主题

发表于 2006-7-8 09:44 | 显示全部楼层
訂了你的書看不明白再聯絡!

TA的精华主题

TA的得分主题

发表于 2006-7-8 23:51 | 显示全部楼层
Sub kk()
    Dim i As Long, r As Long, r1 As Long, j As Integer, k As Integer, ra As Range, F As Object
    Set F = Application.WorksheetFunction
    With Sheets("评分标准")
        k = .Cells(2, 256).End(xlToLeft).Column
        r = .Cells(65536, 1).End(xlUp).Row
        r1 = Cells(65536, 1).End(xlUp).Row
        Range(Cells(2, 8), Cells(r1, 8)).ClearContents
        For i = 2 To r1
            t = Cells(i, 2) & Cells(i, 5)
            c = F.Match(t, .Range(.Cells(2, 1), .Cells(2, 256)), 0)
            t = Left(Cells(i, 6), Len(Cells(i, 6)) - 1)
            Do
                If t = CStr(.Cells(3, c)) Then
                    Exit Do
                End If
                c = c + 1
                If Len(.Cells(2, c)) > 0 Then
                    'MsgBox "评分标准中没有项目" & Cells(i, 6)
                    GoTo L1
                End If
            Loop
            .Cells(r + 1, c) = Cells(i, 7)
            j = F.Rank(Cells(i, 7), .Range(.Cells(4, c), .Cells(r + 1, c)), 1)
            Cells(i, 8) = IIf(j > r - 3, 0, .Cells(j + 3, k))
L1:
        Next
        .Rows(r + 1).Delete
    End With
End Sub
1sO0zaWH.rar (13.5 KB, 下载次数: 7)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 22:32 , Processed in 0.044010 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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