過去ログ

                                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
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : ichinose  ■日付 : 02/11/21(木) 7:43  -------------------------------------------------------------------------
   ▼きみ さん:
おはようございます。
>はじめまして、どうか教えてください
>
>下のような数字を
>上から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ファイルに上記データがあるという意味ですか?
それとも「,」毎に別のセルに格納されているという意味ですか?
教えて下さい。
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : きみ  ■日付 : 02/11/22(金) 10:25  -------------------------------------------------------------------------
   こんにちは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ファイルに上記データがあるという意味ですか?
>それとも「,」毎に別のセルに格納されているという意味ですか?
>教えて下さい。

「,」は同じセルの中に有ります。最終的に空白に置き換えます。
よろしくお願いします
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : Jaka  ■日付 : 02/11/22(金) 11:17  -------------------------------------------------------------------------
   こんにちは。
標準機能で、できますよ。
これをマクロ記録したらどうでしょうか。

データセル選択後、

データ → 区切り位置
区切り位置ウイザードにて
カンマやタブ 選択後 次へ
カンマにチェック入れて 完了

こう言う事ではないんでしょうか?
 ───────────────────────────────────────  ■題名 : すみません。  ■名前 : Jaka  ■日付 : 02/11/22(金) 11:23  -------------------------------------------------------------------------
   質問を良く見たら、全く違ってました。
失礼しました。
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : きみ  ■日付 : 02/11/22(金) 11:26  -------------------------------------------------------------------------
   こんにちはJaka さん

>こんにちは。
>標準機能で、できますよ。
>これをマクロ記録したらどうでしょうか。
>
>データセル選択後、
>
>データ → 区切り位置
>区切り位置ウイザードにて
>カンマやタブ 選択後 次へ
>カンマにチェック入れて 完了
>
>こう言う事ではないんでしょうか?

ちょっと解らないのでマクロ記述で教えてもらえないでしょうか
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : でん  ■日付 : 02/11/22(金) 11:50  -------------------------------------------------------------------------
   ▼きみ さん:
こんにちわ。

>上から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
---------------------------
したいんですか?

どっちでしょう?
じゃ!
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : きみ  ■日付 : 02/11/22(金) 12:05  -------------------------------------------------------------------------
   ▼でん さん:
>▼きみ さん:
>こんにちわ。
>
>>上から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が付きます。
すみません
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : きみ  ■日付 : 02/11/22(金) 16:24  -------------------------------------------------------------------------
   いろいろ考えてココまで来ました
"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
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : Jaka  ■日付 : 02/11/22(金) 16:30  -------------------------------------------------------------------------
   遅くなりまして、どこのセルに入れるのか解りませんでしたので、メッセージ表示しました。違っていたら指摘してください。

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
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : きみ  ■日付 : 02/11/22(金) 17:00  -------------------------------------------------------------------------
   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
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : Jaka  ■日付 : 02/11/25(月) 9:44  -------------------------------------------------------------------------
   ▼きみ さん:
>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
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : でん  ■日付 : 02/11/22(金) 17:18  -------------------------------------------------------------------------
   ▼きみ さん:
こんにちわ。
知恵しぼって考えてみました。

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

こんなんでどうでしょう?
こっと効率的な組み方があるかも・・・。

じゃ!
 ───────────────────────────────────────  ■題名 : Re:セルの中身の並べ替え  ■名前 : きみ  ■日付 : 02/11/22(金) 17:47  -------------------------------------------------------------------------
   でん 様

ありがとうございます!まるで魔法のように問題が解決しました。
本当に助かりました。感謝感激です!!!!!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 385