首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用户表单在Excel中列的末尾输出

问如何使用户表单在Excel中列的末尾输出
EN

Stack Overflow用户
提问于 2015-05-13 21:02:25
回答 2查看 185关注 0票数 1

我试图使这个用户表单输出选项按钮在列的末尾产生结果。最初,我尝试在for next循环中使用我在主模块中使用的相同的I,但是用户表单不会识别该变量,即使在将其标注为公共变量之后。有什么想法吗?

代码语言:javascript
复制
Private Sub cmdOk_Click()

If opt1 Then
    Range(Range(“E3”), Range(“E3”).End(xlDown)) = "None"
ElseIf opt2 Then
    Range(Range(“E3”), Range(“E3”).End(xlDown)) = "3/8 Plain"
ElseIf opt3 Then
    Range(Range(“E3”), Range(“E3”).End(xlDown)) = "1/2 Plain"
ElseIf opt4 Then
    Range(Range(“E3”), Range(“E3”).End(xlDown)) = "1/2 Herringbone"
ElseIf opt5 Then
    Range(Range(“E3”), Range(“E3”).End(xlDown)) = "1/2 Diamond"
End If

Unload frmLagging

End Sub
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-13 21:05:30

您需要在该列中找到最后一行,然后写信给它。下面是一个示例(未测试的)。您可以阅读有关查找最后一行Here的更多信息。

代码语言:javascript
复制
Dim ws As Worksheet
Dim lRow As Long
Dim rng As Range

Set ws = ThisWorkbook.Sheets("Sheet1")

With ws
    '~~> We add 1 so that we get the next empty cell
    lRow = .Range("E" & .Rows.Count).End(xlUp).Row + 1

    Set rng = .Range("E" & lRow)

    If opt1 Then
        rng.Value = "None"
    ElseIf opt2 Then
        rng.Value = "3/8 Plain"
    ElseIf opt3 Then
        rng.Value = "1/2 Plain"
    ElseIf opt4 Then
        rng.Value = "1/2 Herringbone"
    ElseIf opt5 Then
        rng.Value = "1/2 Diamond"
    End If
End With
Unload frmLagging
票数 1
EN

Stack Overflow用户

发布于 2015-05-13 21:35:17

另外,这是我最喜欢的iif声明之一

代码语言:javascript
复制
Private Sub CommandButton1_Click()
    Dim Rws As Long, Rng As Range, x
    Rws = Cells(Rows.Count, "E").End(xlUp).Row

    Set Rng = Cells(Rws + 1, "E")

    x = IIf(Opt1, "None", IIf(Opt2, "3/8 Plain", IIf(Opt3, "1/2 Plain", IIf(Opt4, "1/2 Herringbone", IIf(Opt5, "1/2 Diamond", "Nada")))))
    Rng = x

    Unload Me
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30225126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档