[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『共通で無い数列の抜き出し』(かれん)
はじめまして。
お世話になります。
以下の様な数列を抜き出すマクロを使って頂けないのでしょうか?
1⃣「1123」「4155」「2143」「2241」
2⃣「3211」「5144」「2578」「2142」
結果2143.2578
OS Windows10
< 使用 Excel:Excel2016、使用 OS:unknown >
[[20200714072348]] 『共通ではない数字の抜き出し』(ゴン太)
(通りすがり) 2020/07/14(火) 08:43
Sub test2() Dim i As Long Dim cw As String
With CreateObject("System.Collections.ArrayList") For i = 0 To 3 .Add Array("1123", "4155", "2143", "2241")(i) Next i For i = 0 To 3 cw = Array("3211", "5144", "2578", "2142")(i) If .Contains(cw) = True Then .Remove cw Else .Add cw End If Next i MsgBox .Item(2) & vbLf & .Item(6), vbInformation End With End Sub (???) 2020/07/14(火) 09:40
Dim x As String Dim y As String Dim dic As Object Dim ar As Variant Dim ar1 As Variant Set dic = CreateObject("Scripting.Dictionary") x = "「1123」「4155」「2143」「2241」" y = "「3211」「5144」「2578」「2142」" For Each ar In Array(x, y) For Each ar1 In Split(ar, "「") dic(conv(Val(ar1))) = dic(conv(Val(ar1))) + 1 Next ar1 Next ar For Each ar In Array(x, y) For Each ar1 In Split(ar, "「") If dic(conv(Val(ar1))) = 1 Then MsgBox Val(ar1) Next ar1 Next ar End Sub
Function conv(arg)
Dim i As Long For i = 0 To 9 If InStr(arg, i) > 0 Then conv = conv & i Next i End Function
(mm) 2020/07/14(火) 10:57
こんにちは ^^ 回し好きのおじさんコード。。。^^; Option Explicit Sub OneInstanceMain() Dim i&, n(), v, j&, k&, x, vv, f As Boolean n = Array(1123, 4155, 2143, 2241, 3211, 5144, 2578, 2142) For Each v In n For i = 1 To Len(v) x = Mid(CStr(v), i, 1) For k = 1 To Len(v) If x = Mid(CStr(v), k, 1) Then j = j + 1 End If Next If j > 1 Then f = True End If j = 0 Next If Not f Then vv = vv & v & Chr(13) End If f = False Next MsgBox vv End Sub (隠居じーさん) 2020/07/14(火) 11:11
Sub test3() Dim i As Long Dim cw As String Dim cw1 As String Dim cw2 As String
With CreateObject("Scripting.Dictionary") For i = 0 To 3 cw1 = Array("1123", "4155", "2143", "2241")(i) cw2 = fSort(cw1) .Add cw2, cw1 Next i For i = 0 To 3 cw1 = Array("3211", "5144", "2578", "2142")(i) cw2 = fSort(cw1) If .Exists(cw2) = True Then .Remove cw2 Else .Add cw2, cw1 End If Next i For i = 0 To .Count - 1 cw = cw & " " & .Items()(i) Next i MsgBox Replace(Trim(cw), " ", vbLf), vbInformation End With End Sub
Function fSort(cOrg As Variant) As String Dim i As Long With CreateObject("System.Collections.ArrayList") For i = 1 To Len(cOrg) .Add Mid(cOrg, i, 1) Next i .Sort fSort = Join(.toarray, "") End With End Function (???) 2020/07/14(火) 12:02
済? [[20200714072348]] 『共通ではない数字の抜き出し』(ゴン太) [[20200714081508]] 『共通で無い数列の抜き出し』(かれん) [[20200714123210]] 『連続した4桁の数字のペアの違い』(為五郎) [[20200714160300]] 『4桁の抽出』(為五郎)
現行トピック? [[20200714163259]] 『固定した4桁の数字では意味がありません。』(為五郎)
(偽五郎) 2020/07/14(火) 22:36
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.