[[20040415134809]] 『VBA:数字をつなげる』(わからず) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA:数字をつなげる』(わからず)

 A1,A2,A3,B1,B2,B3,C1,C2,C3と同じセルにある値を
 A1-A3
 B1-B3
 C1-C3

としたいのですが、どなたかご教授お願いしますm(_ _)m


 >A1-A3
 これの意味が分かりません・・・(-_-;)

 Range("A1").value =  Range("A1").value &  Range("A2").value &  Range("A3").value

 とか?

  (INA)


説明不足でもうしわけありません。

A1,A2,A3,B1,B2,B3,C1,C2,C3←セルA1に矢印の値が入力されていて、その値を
(セルA1)にA1-A3 ←A1〜A3とゆー意味です
(セルA2)にB1-B3
(セルA3)にC1-C3
と入力したいのです。
(わからず)


 ひとまず、
 A1,A2,A3,B1,B2,B3,C1,C2,C3
 を、カンマ区切りで1セルごとに分けては如何でしょうか?

 そうすれば、
 (A1が同じセルだと面倒なので、A→A2,B→A3 にしますが。)

 for i = 1 to 100
   select case Left(Cells(1,i).Value,1) 
   case "A"
      Range("A2").Value = Range("A2").Value & "-" & Cells(1,i).Value
   case "B"
      Range("A3").Value = Range("A3").Value & "-" & Cells(1,i).Value
   End select
 next i

 のようにすると、
 A2 → A1-A2-A3
 A3 → B1-B2-B3 
 と入力されますので、

 Left(A2,3) & right(A2,2)
 のように、文字列処理で出来ると思います。

  (INA)


ご回答ありがとうございます。
すいません。例にあげたのがきれいにそろっていましたが、

例えばセルA1に A1,A3,A5,A6,A7,B1,B2,B3,C1,C3,C4,C5とランダムな数値が入力されていて
まとめれる数値をまとめて出力するようにしたいです。

<出力結果>
セルA2→A1,A3,A5-7
セルA3→B1-3
セルA4→C1,C3-5

とゆー結果になりようにしたいです。大変ご無理をいいますが、ご教授よろしく
願いしますm(_ _)m


 そうすると、いっきに処理するのは厳しいので、(←私には)
 作業用のシートを用意して、いったん以下のように抽出しては如何でしょうか?
 
    A   B   C 
 1  A   B   C  ←ここは記号欄として入力しておく
 2  1   1   1  
 3  3   2   3
 4  5   3   4
 5  6       5
 6  7

 そうすれば、数値の連続性が判別しやすいので、
 列ごとに、行方向にループ処理すれば、出来るように思えます。

  (INA)


INAさん ご無理ばかりいって申し訳ないです。なんとかがんばってみます。
もうひとつ質問なのですが、
A1-5,7,9,B1-3,5,C1-3とひとつのセルに値がある場合、アルファベットのみを
抜き出す方法を教えてください。
(わからず)


 >A1-5,7,9,B1-3,5,C1-3 
 いままでの説明にない表現ですね。

 どのように抜き出したいかによって変わってきますが、
 数値と - と , を "" に 「置換」 して、
 削除しては如何でしょうか?

 A1-5,7,9,B1-3,5,C1-3  → ABC

 そして、 
  dim i as long

  for i = 1 to len("ABC")
   msgbox mid("ABC",i,1) 
  next i

 のようにすればよいと思います。

  (INA)

 -と,を置換して削除すると、A1579B135C13となりませんか?
(わからず)


 >数値と - と , を "" に 「置換」 して、

 です。

 ところで
[[20040415165539]]
 とは、関係ない処理なのですか? 

  (INA)


いえ。関連の処理です。
長くなったので、別にあげてしまいましたm(_ _)m申し訳ないです。


 でも、こちらの説明とずいぶん違いますよね?

 なにが本当の質問なんですか・・・?  (-_-;)

 (INA)

[[20040415165539]]
であげたコードは別の方が作成した物でして、結果がうまくでなかったので、
修正を依頼されました。修正を行うのにコードとは違う処理で修正を行おうと思い
ここに質問をあげたのですが、うまくやりたい事が説明できずにやりとりをさせて
もらっていましたが、早く直せとの事を言われたので、別の質問として[[20040415165539]]
をあげました。最終的な結論は両方とも同じです。
(わからず)


[[20040415165539]]
 と、こちらの質問では提示されているデータが、かなり異なっております。

 プログラムなので、データを正確に教えて頂かないと
 何の役にも立たないし、あとから「じつは〜でした」といわれると
 すべて作り直しになる可能性も大いにあります。

 両方の質問の内容で、本当に正しいことを再度、説明し、
 どちらの質問で、質疑を継続すればよいのか、ご指示下さい。

  (INA)

INAさん 重ね重ねご迷惑をおかして申し訳ないです。
たしかにこちらにあげたデータ&内容は非常にわかりずらくご迷惑をおかけしました。
[[20040415165539]]にあげた内容で再度、ご教授よろしくお願いします。m(_ _)m
(わからず)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.