advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 33516 for 関数 (0.006 sec.)
[[20240502193316]]
#score: 2647
@digest: 65c5b7457eece0ccfa1954405a30a965
@id: 96688
@mdate: 2024-05-02T23:40:37Z
@size: 3001
@type: text/plain
#keywords: vname (29633), myname (25057), ーvn (15497), 温存 (8227), bark (7323), 黒沢 (6766), コツ (5022), ら配 (3980), ツコ (3902), textjoin (3612), らmy (2493), ツと (2446), 列間 (2390), 結合 (1949), excel2021 (1845), 2024 (1757), (ba (1713), msg (1674), 要部 (1656), 配列 (1641), を結 (1402), ト関 (1200), flg (1153), join (1100), 力不 (977), て別 (946), 別シ (845), 能力 (824), 居z (775), application (700), ubound (645), 合す (638)
『指定配列間の結合』(Bark)
以下のコードでMyName(0)からmyName(5)までを結合するのは msg = Join(myName, ",") ですが MyName(1)からmyName(4)までを結合するVBAのコードはどうなりますか。 msg2=? Sub Sample() Dim myName(4) As String, msg As String myName(0) = "田中" myName(1) = "鈴木" myName(2) = "佐藤" myName(3) = "山田" myName(4) = "黒沢" msg = Join(myName, ",") MsgBox msg End Sub < 使用 Excel:Excel2021、使用 OS:Windows11 > ---- 面倒でもループで1〜4までコツコツとひとつ毎、に繋いでいく とかでせうか。。。(*^ ^*) m(__)m (隠居Z) 2024/05/02(木) 20:06:30 ---- VBAの配列はスライス出来ない(はず)ので、 既に回答もらっているように、必要部分をピックアップするか、 質問内容のみ限定(MyName(1)からmyName(4)までを結合)なら MsgBox Mid(msg, InStr(msg, ",") + 1) (wss) 2024/05/02(木) 20:22:22 ---- 最初以下のように考えたのですが j = "" Dim iii As Single If flg = 1 Then For iii = 2 To UBound(myName) j = j + myName(iii) Next Else For iii = 1 To UBound(myName) - 1 j = j + myName(iii) Next End If ws2.Cells(i, 3) = j Joinを使ってもっと他のわかりやすい方法がありそうだと思ったのですが なるほど、コツコツとひとつずつ結合するしか無いのですね。 (Bark) 2024/05/02(木) 20:50:15 ---- Application.Index(myName, Array(2, 3, 4, 5, 6)) Application.Index(myName, Application.Transpose(Evaluate("row(2:" & UBound(myName) + 1 & ")"))) (マナ) 2024/05/02(木) 21:13:18 ---- Excel2021ならワークシート関数のFILTERが使えるので・・ msg = Join(Application.Filter(myName, Array(0, 1, 1, 1, 1)), ",") また、XL2019からはワークシート関数のTEXTJOINが使えるので Dim vName vName = myName'myNameの元データは温存の為、Variant変数にコピー vName(0) = "" msg = Application.TextJoin(",", True, vName) まぁ、実際にどんなことをやりたいのかにもよりますけども。 (半平太) 2024/05/02(木) 21:52:57 ---- マナさん、半平太さん コードをいただきありがとうございます。 教えていただきましたが、能力不足でコードに落とし込むまでに至らず断念しました。 やりたかったのは、 flgが1なら 配列の(2)から配列の最後までを結合して別シートに書き出す flgが1以外なら 配列の(1)から配列の最後の一つ前までを結合して別シートに書き出す 5/2(20:50:15)の最初のコードで対応する事にしました。 (Bark) 2024/05/03(金) 08:07:44 ---- >やりたかったのは、 > flgが1なら > 配列の(2)から配列の最後までを結合して別シートに書き出す > flgが1以外なら > 配列の(1)から配列の最後の一つ前までを結合して別シートに書き出す なら、 Dim vName vName = myName 'myNameの元データは温存の為、一旦Variant変数にコピー vName(IIf(flg = 1, 0, UBound(myName))) = Empty msg = Application.TextJoin(",", True, vName) (半平太) 2024/05/03(金) 08:40:37 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/202405/20240502193316.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97013 documents and 608132 words.

訪問者:カウンタValid HTML 4.01 Transitional