Excel中的一些条件编程

Excel中的一些条件编程,excel,if-statement,conditional,Excel,If Statement,Conditional,我正在尝试在Excel中建立一个小的训练日志。我有一个下拉列表,可以让我选择当天锻炼的肌肉群(腿部、胸部、背部等),我在不同的工作表中为每组提供了独特的电子表格。我希望能够选择一个肌肉群,并在它旁边弹出特定的电子表格 这可能吗?它还会带来任何格式/边框吗 谢谢尝试一下这个想法,您可以进一步完善它。我假设在工作表1(训练)中有两张工作表和一个ActiveX组合框,我称之为cmbMGrp 一个叫做锻炼 这包含您的组合框“下拉列表”和右侧的练习计划区域 还有一个叫做练习 其中包含每个肌肉组的运动计

我正在尝试在Excel中建立一个小的训练日志。我有一个下拉列表,可以让我选择当天锻炼的肌肉群(腿部、胸部、背部等),我在不同的工作表中为每组提供了独特的电子表格。我希望能够选择一个肌肉群,并在它旁边弹出特定的电子表格

这可能吗?它还会带来任何格式/边框吗


谢谢

尝试一下这个想法,您可以进一步完善它。我假设在工作表1(训练)中有两张工作表和一个ActiveX组合框,我称之为
cmbMGrp

一个叫做锻炼

这包含您的组合框“下拉列表”和右侧的练习计划区域

还有一个叫做练习

其中包含每个肌肉组的运动计划

将以下两位代码添加到工作表模块(训练),即包含组合框的工作表

Private Sub cmbMGrp_Change()

    Select Case cmbMGrp.Value
        Case Is = "Biceps"
            stCol = 1
        Case Is = "Legs"
            stCol = 5
        Case Is = "Chest"
            stCol = 9
        Case Is = "Back"
            stCol = 13
        Case Else
            stCol = 0
    End Select

    If stCol > 0 Then
        With Sheets("Exercises")
            lrow = .Cells(Rows.Count, stCol).End(xlUp).Row
            .Range(.Cells(1, stCol), .Cells(lrow, stCol).Offset(0, 2)).Copy _
                  Destination:=Sheets("Workout").Range("I3")
        End With
    End If
End Sub

Private Sub cmbMGrp_GotFocus()
    With Sheets("Workout")
        lrow = .Cells(Rows.Count, 9).End(xlUp).Row
        .Range(.Cells(3, 9), .Cells(lrow, 9).Offset(0, 2)).Clear
    End With
End Sub

您应该能够将代码与我在本例中使用的布局相匹配,如图所示。更改这些选项以满足您的要求。

我认为对于您的任务,您应该忘记下拉列表。只需创建一个表,其中的行对应于天,列对应于练习。你可以很容易地按肌肉群分组锻炼。腿部可能包含屈肌、伸肌(股四头肌)、臀肌(臀肌)、小腿(腓肠肌)等,或者你可以根据你使用的机器来命名运动。简单地放在一张表中,过多的编程会分散你对健康的注意力,这才是你真正的目标


顺便说一句,我很擅长Excel,并且用它做了很多令人惊奇的事情,但是我告诉你,如果你重视你的身体健康,就不要使用它的Visual Basic。

对我来说,使用一点VBA是可行的。如果您正在打开另一个电子表格,则不会修改其格式。好的,谢谢。我会尝试弄乱它,看看我是否能让它工作。我不理解“不同工作表中的独特电子表格”。每个小组是否在同一工作簿中都有自己的工作表,或者有自己的工作簿,或者什么?此外,您能否在每个工作表中保留相同的位置以供下拉列表使用?另外,请进一步解释“它还会带来任何格式/边框吗?”。你想为新的组自动添加和格式化新工作表吗?我很乐意给出完整的答案,但我担心这对于这个问题来说可能太复杂了。