Excel VBA 質問スレ Part71

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f5f-nIK+)
垢版 |
2021/05/25(火) 12:48:01.06ID:mepUVc/i0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ

※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/05/25(火) 14:39:07.41ID:Eok9KjPbM
↑おつ
3デフォルトの名無しさん (アウウィフ FFc7-4Cki)
垢版 |
2021/05/25(火) 15:29:32.37ID:9esnpvbXF
>紙の表を目で追いながら画面を見ずにどんどん入力するとか普通にある

下手に補完機能とか発動するとうざいよな
2021/05/26(水) 13:42:07.91ID:LJxSJ8rb0
時々画面も見たほうがいいぞ
2021/05/26(水) 18:56:30.36ID:mkbiTVsAd
画像のような処理をするコードを書きたいのですが・・・
整理番号に対してアルファベットがランダムに振られており、それをまとめるというようなコードです。
ただし、まとめたい整理番号は行が飛び飛びになっており固定されております。
forやifなどを少しかじっただけのため、頑張ってみましたが全くできませんでした。
何卒宜しくお願いいたします。

https://i.imgur.com/w5P4FX4.jpg
6デフォルトの名無しさん (ワッチョイ 9a8e-/g3G)
垢版 |
2021/05/26(水) 19:27:52.83ID:DrPaJmjh0
いつものあいつ
2021/05/26(水) 20:40:38.47ID:YzhdN1Yma
のんびりやろうぜ
2021/05/26(水) 20:43:32.54ID:FIJmCPPEH
>>5
法則がまったくわからん
2021/05/26(水) 20:57:38.79ID:mkbiTVsAd
>>5ですがウンコしてたら閃いてできました。でももしどなたか書いてくださってたら、参考のために見せていただけると嬉しいです。

>>8
整理番号に対してくっついているアルファベットを、重複削除して横向きに整頓したという感じです。
2021/05/26(水) 22:04:20.25ID:VymsA87rM
ID:mkbiTVsAdはとにかく繊維質と水分を十分に摂って山ほどウンコしろ
そうすればこのスレを必要とする事も無くなるだろ
2021/05/26(水) 22:11:44.89ID:XGTO2klA0
入力データは違うけど、Ruby で作ってみた

require 'csv'

tmp_hash = { }
input_ary = CSV.read( "input.csv" ) # 2次元配列

input_ary.each do | row | # 1行ずつ処理する
if tmp_hash.has_key? row[ 0 ] # 既に、その数字が存在すれば
# 文字列が存在しない時だけ、その文字列を追加する
tmp_hash[ row[ 0 ] ][ row[ 1 ] ] = true unless
tmp_hash[ row[ 0 ] ].has_key? row[ 1 ]
else
tmp_hash[ row[ 0 ] ] = { row[ 1 ] => true }
end
end

result_ary = tmp_hash.map do |num, hash|
ary = hash.map { |str, b_true| str }
[ num, *ary ] # 配列展開
end

# p result_ary # 2次元配列
# [["1", "A"], ["2", "B", "C"], ["3", "X"]]

csv_str = result_ary.map( &:to_csv ).join # 2次元配列を、CSV 文字列に変換する
print csv_str

出力
1,A
2,B,C
3,X
2021/05/26(水) 22:16:14.20ID:FIJmCPPEH
>>9
1と3は、整理前と整理後で同じ行にあるけど、2と4が上に移動してる理由がわからん
移動量も違うし
条件は全部文章で書いて
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況