ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 衣服尺码计算的自定义函数,运行不下去了。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-3-29 08:52 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我们单位要统计员工工作服尺码,我收集了所有员工的性别(男女)、身高(cm)、体重(kg)、肩宽(cm)、胸围(cm)、腰围(cm)数据,让GPT用VBA写一个自定义函数计算衣服尺码,要求衣服尺码要符合中国人,身高和体重作为衣服尺码选择的主要依据。自定义函数命名为YFCM,代码中身高用SG,体重用TZ,肩宽用JK,胸围用XW,腰围用YW。下面是GPT写的代码运行不下去,哪位兄台能找到问题在哪里,谢谢!
  1. Function YFCM(SG As Double, TZ As Double, JK As Double, XW As Double, YW As Double, Gender As String) As String
  2.     Dim Size As String
  3.    
  4.     If Gender = "男" Then
  5.         If TZ <= 50 Then
  6.             If SG < 165 Then
  7.                 Size = "XS"
  8.             ElseIf SG >= 165 And SG < 170 Then
  9.                 Size = "S"
  10.             ElseIf SG >= 170 And SG < 175 Then
  11.                 Size = "M"
  12.             ElseIf SG >= 175 And SG < 180 Then
  13.                 Size = "L"
  14.             ElseIf SG >= 180 And SG < 185 Then
  15.                 Size = "XL"
  16.             Else
  17.                 Size = "XXL"
  18.             End If
  19.         ElseIf TZ > 50 And TZ <= 60 Then
  20.             If SG < 165 Then
  21.                 Size = "S"
  22.             ElseIf SG >= 165 And SG < 170 Then
  23.                 Size = "M"
  24.             ElseIf SG >= 170 And SG < 175 Then
  25.                 Size = "L"
  26.             ElseIf SG >= 175 And SG < 180 Then
  27.                 Size = "XL"
  28.             ElseIf SG >= 180 And SG < 185 Then
  29.                 Size = "XXL"
  30.             Else
  31.                 Size = "XXXL"
  32.             End If
  33.         Else 'TZ >60
  34.             If SG < 165 Then
  35.                 Size = "M"
  36.             ElseIf SG >= 165 And SG < 170 Then
  37.                 Size = "L"
  38.             ElseIf SG >= 170 And SG < 175 Then
  39.                 Size = "XL"
  40.             ElseIf SG >= 175 And SG < 180 Then
  41.                 Size = "XXL"
  42.             ElseIf SG >= 180 And SG < 185 Then
  43.                 Size = "XXXL"
  44.             Else
  45.                 Size = "XXXXL"
  46.             End If
  47.         End If
  48.     Else '女
  49.         If TZ <= 45 Then
  50.             If SG < 155 Then
  51.                 Size = "XS"
  52.             ElseIf SG >= 155 And SG < 160 Then
  53.                 Size = "S"
  54.             ElseIf SG >= 160 And SG < 165 Then
  55.                 Size = "M"
  56.             ElseIf SG >= 165 And SG < 170 Then
  57.                 Size = "L"
  58.             ElseIf SG >= 170 And SG < 175 Then
  59.                 Size = "XL"
  60.             Else
  61.                 Size = "XXL"
  62.             End If
  63.         ElseIf TZ > 45 And TZ <= 55 Then
  64.             If SG < 155 Then
  65.                 Size = "S"
  66.             ElseIf SG >= 155 And SG < 160 Then
  67.                 Size = "M"
  68.             ElseIf SG >= 160 And SG < 165 Then
  69.                 Size = "L"
  70.             ElseIf SG >= 165 And SG < 170 Then
  71.                 Size = "XL"
  72.             ElseIf SG >= 170 And SG < 175 Then
  73.                 Size = "XXL"
  74.             Else
  75.                 Size = "XXXL"
  76.             End If
  77.         Else 'TZ >55
  78.             If SG < 155 Then
  79.                 Size = "M"
  80.             ElseIf SG >= 155 And SG < 160 Then
  81.                 Size = "L"
  82.             ElseIf SG >= 160 And SG < 165 Then
  83.                 Size = "XL"
  84.             ElseIf SG >= 165 And SG < 170 Then
  85.                 Size = "XXL"
  86.             ElseIf SG >= 170 And SG < 175 Then
  87.                 Size = "XXXL"
  88.             Else
  89.                 Size = "XXXXL"
  90.             End If
  91.         End If
  92.     End If
  93.    
  94.     Select Case Size
  95.     Case "XS", "S"
  96.         If JK < 40 And XW < 90 And YW < 80 Then
  97.             Size = "S"
  98.         End If
  99.     Case "M"
  100.         If JK < 42.5 And XW < 94 And YW < 84 Then
  101.             Size = "M"
  102.         End If
  103.     Case "L"
  104.         If JK < 45 And XW < 98 And YW < 88 Then
  105.             Size = "L"
  106.         End If
  107.     Case "XL"
  108.         If JK < 47.5 And XW < 102 And YW < 92 Then
  109.             Size = "XL"
  110.         End If
  111.     Case "XXL"
  112.         If JK < 50 And XW < 106 And YW < 96 Then
  113.             Size = "XXL"
  114.         End If
  115.     Case "XXXL"
  116.         If JK < 52.5 And XW < 110 And YW < 100 Then
  117.             Size = "XXXL"
  118.         End If
  119.     Case "XXXXL"
  120.         If JK < 55 And XW < 114 And YW < 104 Then
  121.             Size = "XXXXL"
  122.         End If
  123.     End Select
  124.    
  125.     YFCM = Size
  126.    
  127. End Function
复制代码


TA的精华主题

TA的得分主题

发表于 2023-3-29 10:26 | 显示全部楼层
1680056775378.jpg 可以运行。。。

TA的精华主题

TA的得分主题

发表于 2023-3-29 10:32 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-3-29 21:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

谢谢,我再试一下。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-3-29 21:30 | 显示全部楼层

谢谢你,可能是我操作不正确。

TA的精华主题

TA的得分主题

发表于 2023-3-31 10:12 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 00:20 , Processed in 0.034144 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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