Excel VBA 質問スレ Part76at TECH
Excel VBA 質問スレ Part76 - 暇つぶし2ch995:デフォルトの名無しさん (アウアウウー Sa09-/dRU)
22/07/15 07:47:41 9RgIX2Zba.net
value取るのは


996:改悪で草



997:デフォルトの名無しさん (アウアウウー Sa09-DHlW)
22/07/15 08:08:12 DqNyEc18a.net
>>964
複数回現れる単語を削除すればいいのか?
Sub X964()
Dim Sheet As Worksheet: Set Sheet = ...
Dim Dictionary As Object: Set Dictionary = CreateObject("Scripting.Dictionary")
Dim LastRow As Long: LastRow = SheetSheet.Cells(Rows.Count, "A").End(xlUp).Row
Dim Row As Long
For Row = 1 To LastRow
Dim Word As Variant
For Each Word In Split(Sheet.Cells(Row, "A").Value, " ")
If Dictionary.Exists(Word) Then
Dictionary(Word) = Dictionary(Word) + 1
Else
Dictionary.Add Word, 1
End If
Next
Next
For Row = 1 To LastRow
Dim Uniques As String: Uniques = ""
For Each Word In Split(Sheet.Cells(Row, "A").Value, " ")
If 1 < Dictionary(Word) Then
If Uniques = "" Then
Uniques = Word
Else
Uniques = Uniques & " " & Word
End If
End If
Next
Sheet.Cells(Row, "B").Value = Uniques
Next
End Sub

998:デフォルトの名無しさん (アウアウウー Sa09-DHlW)
22/07/15 08:10:06 DqNyEc18a.net
>>973
気持ち悪いとは思わないけどちょっと非効率かなとは思う

999:デフォルトの名無しさん (ワッチョイ cbda-VQN5)
22/07/15 08:49:49 pxeFAKZo0.net
そのコードカッケェ!

1000:デフォルトの名無しさん (スフッ Sd43-TkQT)
22/07/15 09:42:45 D6klNH8hd.net
Sub sample3()
  Dim r As Long
  Dim z As Long '最終行
  Dim s As String '全データ
  Dim a() As String '単語リスト
  Dim i As Long
  z = Cells(Rows.Count, 1).End(xlUp).Row
  For r = 1 To z
    Cells(r, 2) = Cells(r, 1)
    s = s & Cells(r, 1) & " "
  Next r
  a = Split(s, " ")
  For i = LBound(a) To UBound(a)
    If Len(s) - Len(a(i)) > Len(Replace(s, a(i), "")) Then '2回以上出てくるか
      For r = 1 To z
        Cells(r, 2) = Trim(Replace(Cells(r, 2), a(i), "")) '各セルから削除
      Next r
    End If
  Next i
End Sub

1001:デフォルトの名無しさん (アウアウウー Sa09-jVDF)
22/07/15 09:47:20 kfkt8EAfa.net
効率どうこう言う前に重複した単語がでるような関数はどうかと思うのw

1002:デフォルトの名無しさん
22/07/15 13:22:47.81 kd+ZBNkRd.net
ここでRuby馬鹿がRubyではこうなるとか書くのは見えている

1003:デフォルトの名無しさん
22/07/15 19:00:37.71 f/pTHFXb0.net
オレンジ色のオレンジはどうなの?

1004:デフォルトの名無しさん
22/07/15 19:14:37.65 pxeFAKZo0.net
どんなに良コード書いても難癖付けられるのがこのスレ

1005:デフォルトの名無しさん
22/07/16 02:37:29.28 hVvvoOFI0.net
userformをshowした直後にunloadするとexcelが落ちるのは何とかならんかのぉ
hideじゃだめなんじゃunloadじゃないと

1006:デフォルトの名無しさん
22/07/16 07:52:34.81 1SMMBEmo0.net
UserForm1.Show vbModeless
Unload UserForm1
って意味なら、別に落ちなかったけど

1007:デフォルトの名無しさん
22/07/16 08:52:29.38 eHBMNsDF0.net
逆になんでhideじゃダメなの

1008:デフォルトの名無しさん
22/07/16 13:26:34.40 NLVpHfZz0.net
とりあえずEXCELが落ちるっていうコードと環境出せ
話はそれからだ

1009:デフォルトの名無しさん
22/07/16 18:00:44.38 2WLM14wy0.net
>>978
Ruby で作った
require "csv"
input_str = <<"EOT"
RED,BLUE,APPLE
RED,BLUE,BANANA
RED,BLUE,GREEN,ORANGE
RED,BLUE,YELLOW,WHITE,GRAPE
RED,BLUE,WHITE,CHERRY
DOG,CAT,RABBIT,COW,BEAR
EOT
csv = CSV.new( input_str )
input_ary = csv.read # 2次元配列
# 各単語の出現回数を数える。Hash の初期値は、0
hash = input_ary.each_with_object( Hash.new( 0 ) ) { |row, hash|
row.each { |word| hash[ word ] += 1 }
}
# 出現回数が2以上の単語を削除する
input_ary.map! { |row|
row.delete_if { |word| hash[ word ] >= 2 }
row
}
# 2次元配列を、CSV 文字列に変換する
csv_str = input_ary.map( &:to_csv ).join
puts csv_str

1010:デフォルトの名無しさん
22/07/16 19:45:04.74 vYu+PcKIa.net
>>996
廃止決定した言語じゃん

1011:デフォルトの名無しさん
22/07/17 00:22:00.69 lEW2LcQY0.net
あんたら色んな言語を習得していてエリートなんだな?
5ちゃんねるなんかにいてもったいねーわ

1012:デフォルトの名無しさん
22/07/17 02:44:22.32 rPHWMq+g0.net
>>995
993と同じ、2行だけ
エクセルは2013
>>994
閉じたWebbrowserを再表示する方法がわからないので仕方なく

1013:デフォルトの名無しさん
22/07/17 04:50:23.78 fLi6s9i70.net
こいつの書くコード、rubyとしてもクソコードなのがほんとひどい

1014:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 77日 2時間 26分 42秒

1015:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch