ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 有效期限筛选,2位的月份10,11,12不能正确识别,请帮忙看看代码哪里错误。

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-6-10 09:16 | 显示全部楼层
caffish 发表于 2023-6-9 15:12
能定位到问题,但是试了很多方法都无法解决,问题代码在如下的地方:
之所以会拉出来那么多不符合要求的清 ...

下面几段代码是否有关呢,我是一点也看不懂,拜托大神
Public Sub ShowMeasDetails()

Const PROC_NAME As String = "clsMeasDetails/ShowMeasDetails"
   
On Error GoTo MyErr
    With frmLed
        .cboCat.Text = mCat
        .cboGroup.Text = mGroup
        .cboProductName.Text = mProductName
        .txtUsage.Text = mUsage
        .txtCreationDate.Text = FORMAT(mCreationDate, "yyyy/m/d")
        .txtRefeNo.Text = mRefeNo
        .txtUniqueNo1.Text = mUniqueNo1
        .txtUniqueNo2.Text = mUniqueNo2
        .cboManaClass.Text = mManaClass
        .txtCalCycle.Text = mCalCycle
        .txtExpDateYear.Text = FORMAT(mExpDate, "yyyy")
        .txtExpDateMonth.Text = FORMAT(mExpDate, "m")
        '有効期限残月表示
        Call ShowExpDateTimeLimit
        .txtRemarks.Text = mRemarks
        .txtMaker.Text = mMaker
        .txtModel.Text = mModel
        .txtScaleInterVal.Text = mScaleInterval
        .txtMeas.Text = mMeas
        .txtOthersSpec.Text = mOthersSpec
        Call basFrmLed.ShowRefeSign
        Call basFrmLed.ShowStandardCalCycle
    End With
    Exit Sub

'**********************************************************
'機能   :日付を揃える
'引数   :convDate-変換する日付
'戻り値 :日付
'**********************************************************
Public Function AlignDate(ByVal convDate As Variant) As String

    Const CONV_POS As Long = 10  '変換基準値
   
    If IsDate(convDate) = True Then
        If Month(convDate) < CONV_POS And Day(convDate) < CONV_POS Then
            AlignDate = FORMAT(convDate, "yyyy. m. d")
        ElseIf Month(convDate) < CONV_POS And Day(convDate) >= CONV_POS Then
            AlignDate = FORMAT(convDate, "yyyy. m.dd")
        ElseIf Month(convDate) >= CONV_POS And Day(convDate) < CONV_POS Then
            AlignDate = FORMAT(convDate, "yyyy.mm. d")
        Else
            AlignDate = FORMAT(convDate, "yyyy.mm.dd")
        End If
    Else
        AlignDate = convDate
    End If
        
End Function


Public Sub RegisterFrmLedInClipBoard()

Const PROC_NAME As String = "basFrmLedClipBoard/RegisterFrmLedInClipBoard"
   
On Error GoTo MyErr
    Dim myWs As Worksheet   'クリップボードシート
    Dim myClm As Long       'クリップボードシート列
    Dim myExpDate As String '有効期限
   
    Set myWs = VBAProject.wsclipBoard
    myClm = GetWsClipBoardClm
    Call ClearClipBoard
    With frmLed
        myWs.Cells(WsClipRow.WsClipRow_CopyDate, myClm).Value = Date & " " & Time
        myWs.Cells(WsClipRow.WsClipRow_RefeNo, myClm).Value = .txtRefeNo.Text
        myWs.Cells(WsClipRow.WsClipRow_UniqueNo1, myClm).Value = .txtUniqueNo1.Text
        myWs.Cells(WsClipRow.WsClipRow_UniqueNo2, myClm).Value = .txtUniqueNo2.Text
        myWs.Cells(WsClipRow.WsClipRow_Cat, myClm).Value = .cboCat.Text
        myWs.Cells(WsClipRow.WsClipRow_Group, myClm).Value = .cboGroup.Text
        myWs.Cells(WsClipRow.WsClipRow_ProductName, myClm).Value = .cboProductName.Text
        myWs.Cells(WsClipRow.WsClipRow_Usage, myClm).Value = .txtUsage.Text
        myWs.Cells(WsClipRow.WsClipRow_Remarks, myClm).Value = .txtRemarks.Text
        myWs.Cells(WsClipRow.WsClipRow_ManaClass, myClm).Value = .cboManaClass.Text
        myWs.Cells(WsClipRow.WsClipRow_CalCycle, myClm).Value = .txtCalCycle.Text
        myExpDate = .txtExpDateYear.Text & "/" & .txtExpDateMonth.Text & "/1"
        If IsDate(myExpDate) = True Then
            myWs.Cells(WsClipRow.WsClipRow_ExpDate, myClm).Value = FORMAT(myExpDate, "yyyy/m")
        Else
            myWs.Cells(WsClipRow.WsClipRow_ExpDate, myClm).Value = .txtExpDateYear.Text & _
                                                                   .txtExpDateMonth.Text
        End If
        myWs.Cells(WsClipRow.WsClipRow_Maker, myClm).Value = .txtMaker.Text
        myWs.Cells(WsClipRow.WsClipRow_Model, myClm).Value = .txtModel.Text
        myWs.Cells(WsClipRow.WsClipRow_ScaleInterval, myClm).Value = .txtScaleInterVal.Text
        myWs.Cells(WsClipRow.WsClipRow_Meas, myClm).Value = .txtMeas
        myWs.Cells(WsClipRow.WsClipRow_OthersSpec, myClm).Value = .txtOthersSpec.Text
    End With
   
    GoSub Finally
    Exit Sub

TA的精华主题

TA的得分主题

发表于 2023-6-12 11:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我感觉跟问题无关,中间那段时间转换的代码·不知道在哪里调用的,但我统一修改为YYYY/MM/DD的格式没有改变最终结果,其余两段代码是显示结果的,估计也不会有问题。你这么猜犹如大海捞针,太难了,我建议你找个提供付费服务的大神帮你看看吧,这里面还是日文的,翻译还要翻半天,不出钱估计没人帮你弄。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-6-12 12:43 | 显示全部楼层
caffish 发表于 2023-6-12 11:03
我感觉跟问题无关,中间那段时间转换的代码·不知道在哪里调用的,但我统一修改为YYYY/MM/DD的格式没有改变 ...

谢谢建议!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 13:24 , Processed in 0.030241 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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