小编Big*_*Ben的帖子

Excel 宏 - 将逗号分隔的条目拆分为新行

我目前在工作表中有这些数据

Col A   Col B   Col C
1       A       angry birds, gaming
2       B       nirvana,rock,band
Run Code Online (Sandbox Code Playgroud)

我想要做的是拆分第三列中的逗号分隔条目并插入新行,如下所示:

Col A   Col B   Col C
1       A       angry birds
1       A       gaming
2       B       nirvana
2       B       rock
2       B       band
Run Code Online (Sandbox Code Playgroud)

我相信这可以用 VBA 来完成,但我自己无法弄清楚。

excel vba

0
推荐指数
1
解决办法
5059
查看次数

使用 Excel Vba 拆分字符串并仅恢复 [ ] 之间的元素

我有一个形式的字符串:

"word 1, word 2, ..., word n, [Etiquette], many other words"
Run Code Online (Sandbox Code Playgroud)

我只想检索“礼仪”并将其放入变量中。

目前我有例如 v = "blabla, [Etiquette]"

我知道我可以使用 Split 函数,但是当我尝试显示时Debug.Print Split(v)出现类型错误。

感谢您的帮助 !

excel vba

0
推荐指数
1
解决办法
117
查看次数

为什么visual basic中的-true变成1

我只想了解为什么会发生以下情况:

Msgbox True
Output: True

Msgbox -True
Output: 1
Run Code Online (Sandbox Code Playgroud)

为什么会变成1?

vba

0
推荐指数
1
解决办法
78
查看次数

Python Pandas 根据列值删除多行

我正在尝试根据列值删除一些行。我正在使用熊猫。

我有四个关键词想要检查特定列。

df_1[df_1['Item'] != 'YoY Growth']我知道这将删除具有“同比增长”的列,但是我还没有找到一种有效的方法将所有关键字合并到一行中,以便我可以删除包含任何关键字的所有行?

我也尝试使用下面的方法,但我在语法上遇到了一些问题

indexNames = df_1[ df_1['Customer'] == 'YoY Growth'].index

indexNames = df_1[ df_1['Customer'] == 'WoW Growth'].index

df_1.drop(indexNames)
Run Code Online (Sandbox Code Playgroud)

python dataframe python-3.x pandas

0
推荐指数
1
解决办法
6416
查看次数

自动填充表列VBA

我希望使用从 1,2,3,... 开始的连续数字自动填充第一列(标记为“ID”)。到目前为止我所拥有的是

    Application.DisplayAlerts = True

Dim TradeTable As Excel.ListObject
Set TradeTable = Sheets("Pre Trade").ListObjects("PreTradeTable")

TradeTable.DataBodyRange(1, 1).Select
Selection.Value = 1

TradeTable.DataBodyRange(2, 1).Select
Selection.Value = 2

TradeTable.ListColumns("ID").DataBodyRange.Select
Selection.AutoFill
Run Code Online (Sandbox Code Playgroud)

这是行不通的。另外,我不喜欢非动态参考,例如(2,1)。有没有办法指定列标题“ID”中的第一项,然后指定第二个单元格,然后进行自动填充?

excel vba

0
推荐指数
1
解决办法
1403
查看次数

列表理解中的列表,查找字符串中元音的数量

我正在尝试编写一个函数,该函数遍历np.array包含电子邮件的 a,并且我想以数组的形式获取电子邮件中存在的元音数量

我的尝试是:

def number_of_vouls(email):
    vouls = 'aeiouAEIOU'
    name = [e.split('@')[0] for e in email]
    return [sum(1 for c in name if c in vouls) for n in name]

number_of_vouls(np.array(['aaaab@yahoo.com', 'lingardo.pev@gmail.com']))

output: [0, 0]
Run Code Online (Sandbox Code Playgroud)

[5, 4]对于这种情况,预期的输出应该是:

我认为我的问题是我无法按内部字符循环name但不知道如何解决它

python list-comprehension list pandas

0
推荐指数
1
解决办法
591
查看次数

Excel 累积总和并重置目标总和

我正在寻找一个简单的公式来计算列上的运行总和,并在达到/超过目标总和时重置总和。

例如:目标 35

A RC
12 12
6 18
10 28
8 8
20 28
10 10

尝试过 mod() 但不确定如何重新启动计数器,还有其他简单的解决方案吗?

excel excel-formula

0
推荐指数
1
解决办法
171
查看次数

Visual Basic for Applications 中“或”的管道符号

我广泛使用 MS Word 的语音转文本功能,但它经常将我的逗号解释为“注释”或“常见”。我要求 ChatGPT 编写一个修复宏(见下文),它建议使用:.Text = "comment|common"。我喜欢使用管道符号来提供逻辑“OR”的想法,但它似乎不适用于 MS Word。是ChatGPT的错还是微软的错?无论如何,有没有办法将布尔逻辑设计到 VBA .Find 语句中?

Dim myRange As Range
Set myRange = ActiveDocument.Content
With myRange.Find
    .Text = "comment|common"
    .Replacement.Text = ","
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = True
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
myRange.Find.Execute Replace:=wdReplaceAll
End Sub
Run Code Online (Sandbox Code Playgroud)

vba ms-word

0
推荐指数
1
解决办法
146
查看次数

使用Powershell将文本文件转换为csv文件

如果我有一个简单的文本文件,显示用户的名字、中间名(如果有)、姓氏和电子邮件地址,是否有一种快速方法可以使用 Powershell 甚至 Excel 将其转换为 csv 格式?CSV 文件只需显示名字、姓氏(可以是中间名和姓氏的组合)和电子邮件地址。

例如,如果我有一个如下文本文件:

James Tiberius Kirk       james.kirk@starfleet.com
Leonard McCoy             leonard.mccoy@starfleet.com
Run Code Online (Sandbox Code Playgroud)

我想按如下方式转换为 csv:

FirstName,LastName,EmailAddress
James,TiberiusKirk,james.kirk@starfleet.com
Leonard,McCoy,leonard.mccoy@starfleet.com
Run Code Online (Sandbox Code Playgroud)

除了手动之外,我不知道该怎么做,这对于大型文本文件来说非常耗时。

csv powershell

0
推荐指数
1
解决办法
103
查看次数

在Excel中使用VBA,如何隐藏没有在数组中指定标题的列?

我有一个很大的电子表格,我想隐藏不太重要的列。我能够编写代码来删除不必要的列,但是我决定只隐藏它们而不是删除它们。不幸的是,代码返回了一个错误。如何使用指定的标题名称隐藏列?

下面是我编写的删除与数组中指定的标题不匹配的列的代码。我该如何编辑以隐藏列而不是删除列?

 Sub Delete_Rearrange() 'deletes unnecessary columns, then rearranges columns

    Dim I As Long, e As Long, n As Long

    Application.ScreenUpdating = False
    e = Cells(1, Columns.Count).End(xlToLeft).Column
    For I = e To 1 Step -1
    Select Case Cells(1, I).Value
        Case "accrue_mkt_disc_elect", "accrued_oid", "error", "accrued_unrealized_mkt_disc", "acq_dt", "acq_prem", "amort_prem_elect", "bond_prem", "Currency_code", "END_DT", "Error", "exc_rte", "fmv_as_of_dt_of_gf", "gf_dt", "gf_or_inh_in", "include_mkt_disc_inc_elect", "isn_sec_iss_id", "iso_crr_cd", "last_adj_dt", "mkt_disc", "rc_con_in", "rv_fm_cus_at_nm", "sb_fm_nm", "spot_rte_elect", "tl_cur_cs", "tl_og_cs", "tl_qty", "trf_initial_dt", "trf_sett_dt", "Error"
             On Error Resume Next
            n = WorksheetFunction.Match(Cells(1, I), Range(Cells(1, I …
Run Code Online (Sandbox Code Playgroud)

arrays excel hidden vba

-1
推荐指数
1
解决办法
110
查看次数

在 Excel/Google Sheets 中搜索 6 个字符串中的最后 3 个字符

我的电子表格中有一组数据需要使用特定参数进行过滤。我需要返回与 6 个字符的字符串的最后 3 个字符匹配的数据。

例如,如果我有以下数据:

| Col 1 |
---------
| AA-XYZ |
| AA-ABC |
| BB-XYZ |
| BB-DEF |
| CC-XYZ |
| CC-GHI |
Run Code Online (Sandbox Code Playgroud)

我的过滤器将返回:

| Col 1 |
---------
| AA-XYZ |
| BB-XYZ |
| CC-XYZ |
Run Code Online (Sandbox Code Playgroud)

这可以通过标准搜索/过滤功能实现吗?还是需要正则表达式?

excel filter excel-formula google-sheets

-1
推荐指数
1
解决办法
119
查看次数