VBA采番、最高の採番コード

Const prefix = "ABS-"   '接頭辞
Const tbl = "0123456789ABCEFGHJKLMNPRSTUVWXYZ" '採番時に参照するコード表




'''
'''採番を作成
'''0,33,1025,32769の行数をデバッグしたらわかるはず
Sub makeSerialNum()
    Dim max_col As Long: max_col = getMaxCol()
    Dim s As String
    
    For i = 0 To max_col - 1
        n = i
        x = ""
        
        If i = 0 Or i = 33 Or i = 1025 Then
            Debug.Print i
        End If
        
        Do
            a = n Mod 32
            c = Mid(tbl, a + 1, 1)
            x = c & x
            b = Int(n / 32)
            
            If b = 0 Then
                s = prefix + Right("00000" + x, 5) + "0"
                Sheet1.Cells(i + 1, 5) = s
            Else
                n = b
            End If
        Loop While b > 0
    Next i


End Sub


'''
'''採番する列元に最大行数を取得
'''
Function getMaxCol() As Long
    Dim i As Long: i = 1
    Do
        If Sheet1.Cells(i, 8) = Empty Then
            Exit Do
        End If
        i = i + 1
    Loop While True
    
    i = i - 1 '1で相殺する
    getMaxCol = i
End Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用以下代码来绘制sparkline并标记最高点和最低点: ```vba Sub DrawSparklineWithMinMax() '定义变量 Dim sparkRange As Range Dim minCell As Range, maxCell As Range Dim minVal As Double, maxVal As Double '选择要绘制sparkline的范围 Set sparkRange = Range("A1:A10") '计算最小值和最大值 minVal = WorksheetFunction.Min(sparkRange) maxVal = WorksheetFunction.Max(sparkRange) '找到最小值和最大值所在的单元格 Set minCell = sparkRange.Find(What:=minVal, LookIn:=xlValues) Set maxCell = sparkRange.Find(What:=maxVal, LookIn:=xlValues) '绘制sparkline With ActiveSheet.Shapes.AddChart(xlLineMarkers, Left:=minCell.Left, Top:=minCell.Top, Width:=100, Height:=50) With .Chart.SeriesCollection.NewSeries .Values = sparkRange.Value End With .Chart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis) .Chart.Axes(xlCategory).CategoryType = xlCategoryScale .Chart.SetElement (msoElementDataLabelOutSideEnd) End With '在最小值和最大值所在的单元格上标记出对应的值 minCell.Offset(-1, 1).Value = "Min: " & minVal maxCell.Offset(1, 1).Value = "Max: " & maxVal End Sub ``` 在这个代码中,我们首先选择要绘制sparkline的范围(这里是A1:A10)。然后,使用WorksheetFunction.Min和WorksheetFunction.Max函数计算出最小值和最大值。接下来,我们使用Find方法找到最小值和最大值所在的单元格。然后,使用Shapes.AddChart方法在最小值所在的单元格上绘制sparkline。最后,我们在最小值和最大值所在的单元格旁边标记出对应的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值