Page 385 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼セルの中身の並べ替え きみ 02/11/20(水) 18:08 ┣Re:セルの中身の並べ替え ichinose 02/11/21(木) 7:43 ┃ ┗Re:セルの中身の並べ替え きみ 02/11/22(金) 10:25 ┃ ┗Re:セルの中身の並べ替え Jaka 02/11/22(金) 11:17 ┃ ┣すみません。 Jaka 02/11/22(金) 11:23 ┃ ┗Re:セルの中身の並べ替え きみ 02/11/22(金) 11:26 ┗Re:セルの中身の並べ替え でん 02/11/22(金) 11:50 ┗Re:セルの中身の並べ替え きみ 02/11/22(金) 12:05 ┗Re:セルの中身の並べ替え きみ 02/11/22(金) 16:24 ┣Re:セルの中身の並べ替え Jaka 02/11/22(金) 16:30 ┃ ┗Re:セルの中身の並べ替え きみ 02/11/22(金) 17:00 ┃ ┗Re:セルの中身の並べ替え Jaka 02/11/25(月) 9:44 ┗Re:セルの中身の並べ替え でん 02/11/22(金) 17:18 ┗Re:セルの中身の並べ替え きみ 02/11/22(金) 17:47 ─────────────────────────────────────── ■題名 : セルの中身の並べ替え ■名前 : きみ ■日付 : 02/11/20(水) 18:08 -------------------------------------------------------------------------
はじめまして、どうか教えてください 下のような数字を 上から3つを一つのセルの中に入れ4つめを削除 5つめから7つめを一つのセルの中に入れ8つめを削除 ということを順にくり返したいのですが どうしたらいいでしょうか 質問が解りにくかったらすみません -74766.054,57953.067,15.717 -74765.573,57953.707,15.762 -74766.229,57953.371,15.722 -74766.054,57953.067,15.717 -74727.925,57961.579,16.554 -74719.448,57947.684,15.914 -74727.720,57962.148,15.740 -74727.925,57961.579,16.554 |
▼きみ さん: おはようございます。 >はじめまして、どうか教えてください > >下のような数字を >上から3つを一つのセルの中に入れ4つめを削除 >5つめから7つめを一つのセルの中に入れ8つめを削除 >ということを順にくり返したいのですが > >どうしたらいいでしょうか >質問が解りにくかったらすみません > >-74766.054,57953.067,15.717 >-74765.573,57953.707,15.762 >-74766.229,57953.371,15.722 >-74766.054,57953.067,15.717 >-74727.925,57961.579,16.554 >-74719.448,57947.684,15.914 >-74727.720,57962.148,15.740 >-74727.925,57961.579,16.554 上の数値が処理の入力データになるんですが、「,」はどういう意味に考えたらいいのですか? csvファイルに上記データがあるという意味ですか? それとも「,」毎に別のセルに格納されているという意味ですか? 教えて下さい。 |
こんにちはichinose さん >>-74766.054,57953.067,15.717 >>-74765.573,57953.707,15.762 >>-74766.229,57953.371,15.722 >>-74766.054,57953.067,15.717 >>-74727.925,57961.579,16.554 >>-74719.448,57947.684,15.914 >>-74727.720,57962.148,15.740 >>-74727.925,57961.579,16.554 >上の数値が処理の入力データになるんですが、「,」はどういう意味に考えたらいいのですか? >csvファイルに上記データがあるという意味ですか? >それとも「,」毎に別のセルに格納されているという意味ですか? >教えて下さい。 「,」は同じセルの中に有ります。最終的に空白に置き換えます。 よろしくお願いします |
こんにちは。 標準機能で、できますよ。 これをマクロ記録したらどうでしょうか。 データセル選択後、 データ → 区切り位置 区切り位置ウイザードにて カンマやタブ 選択後 次へ カンマにチェック入れて 完了 こう言う事ではないんでしょうか? |
質問を良く見たら、全く違ってました。 失礼しました。 |
こんにちはJaka さん >こんにちは。 >標準機能で、できますよ。 >これをマクロ記録したらどうでしょうか。 > >データセル選択後、 > >データ → 区切り位置 >区切り位置ウイザードにて >カンマやタブ 選択後 次へ >カンマにチェック入れて 完了 > >こう言う事ではないんでしょうか? ちょっと解らないのでマクロ記述で教えてもらえないでしょうか |
▼きみ さん: こんにちわ。 >上から3つを一つのセルの中に入れ4つめを削除 >5つめから7つめを一つのセルの中に入れ8つめを削除 >ということを順にくり返したいのですが 重なっている座標を削除したいということですね? --------------------------- -74766.054,57953.067,15.717 -74765.573,57953.707,15.762 -74766.229,57953.371,15.722 --------------------------- -74727.925,57961.579,16.554 -74719.448,57947.684,15.914 -74727.720,57962.148,15.740 --------------------------- したいんですか?それとも --------------------------- -74766.054,57953.067,15.717 --------------------------- -74765.573,57953.707,15.762 --------------------------- -74766.229,57953.371,15.722 --------------------------- -74727.925,57961.579,16.554 --------------------------- -74719.448,57947.684,15.914 --------------------------- -74727.720,57962.148,15.740 --------------------------- したいんですか? どっちでしょう? じゃ! |
▼でん さん: >▼きみ さん: >こんにちわ。 > >>上から3つを一つのセルの中に入れ4つめを削除 >>5つめから7つめを一つのセルの中に入れ8つめを削除 >>ということを順にくり返したいのですが >重なっている座標を削除したいということですね? > --------------------------- 1 -74766.054,57953.067,15.717 -74765.573,57953.707,15.762 -74766.229,57953.371,15.722 --------------------------- 1 -74727.925,57961.579,16.554 -74719.448,57947.684,15.914 -74727.720,57962.148,15.740 --------------------------- こうゆう形にしたいのです。座標の前に1が付きます。 すみません |
いろいろ考えてココまで来ました "A"列にある座標を"E"列に表示しようと思います 頭に"1"ではなくて"TIN"がつくことになりました 下の状態では1行しかできないので繰り返しのやり方を教えてください Sub Macro2() ' Range("E1").FormulaR1C1 = _ "=CONCATENATE(RC[-4],R[1]C[-4],R[2]C[-4])" FN = "TIN" FM = Range("E1") FF = FN + FM ActiveSheet.Cells(1, 5).Value = FF End Sub |
遅くなりまして、どこのセルに入れるのか解りませんでしたので、メッセージ表示しました。違っていたら指摘してください。 Sub huhu() Dim dd As String Dim Str1 As String, Str2 As String dd = Range("A2").Value SS = 0: CNT = 0 Str1 = Empty: Str2 = Empty Do Until InStr(1, dd, vbLf) = 0 CNT = CNT + 1 Select Case CNT Case 1 To 3 Str1 = Str1 & Left(dd, InStr(1, dd, vbLf) - 1) & " " Case 5 To 7 Str2 = Str2 & Left(dd, InStr(1, dd, vbLf) - 1) & " " End Select dd = Mid(dd, InStr(1, dd, vbLf) + 1) Loop MsgBox 1 & " " & Left(Str1, Len(Str1) - 1) MsgBox 1 & " " & Left(Str2, Len(Str2) - 1) End Sub |
Jaka さん ありがとうございます ですが、エラーが出ていまい、実行出来ません。 それから座標の数は膨大なので「Case 1 To 3」というように分けていくのは厳しいです。 説明が後手後手になって申し訳ないです >遅くなりまして、どこのセルに入れるのか解りませんでしたので、メッセージ表示しました。違っていたら指摘してください。 > >Sub huhu() > Dim dd As String > Dim Str1 As String, Str2 As String > dd = Range("A2").Value > SS = 0: CNT = 0 > Str1 = Empty: Str2 = Empty > Do Until InStr(1, dd, vbLf) = 0 > CNT = CNT + 1 > Select Case CNT > Case 1 To 3 > Str1 = Str1 & Left(dd, InStr(1, dd, vbLf) - 1) & " " > Case 5 To 7 > Str2 = Str2 & Left(dd, InStr(1, dd, vbLf) - 1) & " " > End Select > dd = Mid(dd, InStr(1, dd, vbLf) + 1) > Loop > MsgBox 1 & " " & Left(Str1, Len(Str1) - 1) > MsgBox 1 & " " & Left(Str2, Len(Str2) - 1) >End Sub |
▼きみ さん: >Jaka さん >ありがとうございます >ですが、エラーが出ていまい、実行出来ません。 >それから座標の数は膨大なので「Case 1 To 3」というように分けていくのは厳しいです。 >説明が後手後手になって申し訳ないです > >>遅くなりまして、どこのセルに入れるのか解りませんでしたので、メッセージ表示しました。違っていたら指摘してください。 ごめんなさい。 解決づみですが、同も質問をほとんど全く理解していなかった様です。 提示されたデータ全部が、1つのセルに入っているんじゃなかったのですね。 こんな感じのセルが、たくさんあるのかな?と思っていました。 不必要で、また間違いいてるかと思いますが..。 Sub koko() Dim i As Long, AG As Long, EG As Long, Mstr As String, CNT As Long Mstr = Empty CNT = 0 For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row CNT = CNT + 1 Mstr = Mstr & Range("A" & i).Value & " " If CNT = 3 Then EG = EG + 1 Range("E" & EG).Value = "TIN" & Left(Mstr, Len(Mstr) - 1) Mstr = Empty ElseIf CNT = 4 Then Mstr = Empty CNT = 0 End If Next End Sub |
▼きみ さん: こんにちわ。 知恵しぼって考えてみました。 Sub Macro1() Dim r, t As Integer Dim a As String r = 1 Do t = r + 1 a = "TIN " & Cells(r, 1).Value Do Until Cells(r, 1).Value = Cells(t, 1) a = a & " " & Cells(t, 1).Value t = t + 1 Loop Cells(r, 1).Value = a Rows(Trim(Str(r + 1)) & ":" & Trim(Str(t))).Delete r = r + 1 Loop Until Cells(r, 1).Value = Empty End Sub こんなんでどうでしょう? こっと効率的な組み方があるかも・・・。 じゃ! |
でん 様 ありがとうございます!まるで魔法のように問題が解決しました。 本当に助かりました。感謝感激です!!!!! |