プロが教える店舗&オフィスのセキュリティ対策術

E列に表があり、それの
A列 に Aグループ
B列 に Bグループ
C列 に Cグループ
D列 に Dグループ
という感じで別の列からきれいにそろえるプログラムを考えています。
このような方法がある。というのがありましたら教えていただきたいです。
お願いいたします。

質問者からの補足コメント

  • 綺麗が余計でしたね、わかりずらくて申し訳ないです。
    上からならべられればいいだけです

    A A B C
    B A B C
    A A B
    A A B
    B → A
    B
    A
    B
    A
    C
    C

    ざっくりとですがこのような感じです。
    質問のアドバイスをくださった方々ありがとうございますm(_ _"m)

      補足日時:2021/01/30 13:37
  • つらい・・・

    →とその右横のAは無視してもらって構わないです
    空白を詰められた感じになってしまいました

      補足日時:2021/01/30 13:40

A 回答 (9件)

基礎中の基礎を聞くとは・・・プログラミング自体を分かってない、才能無いですね。

    • good
    • 2
この回答へのお礼

うーん・・・

質問の答えになっていないですよ(;'∀')

お礼日時:2021/01/30 05:17

質問とも言えるのかなと



>という感じで

とは、質問者さんの頭の中では思い浮かんでいるのでしょ。
けどそれを他の人がわかるように『質問文は書かない』と。

綺麗に揃えるって何を?どのように?
セルのサイズなら新規bookは揃ってますけど。
    • good
    • 3

意味不明な質問ですので、回答不能。

    • good
    • 2

E列の表が重要みたいですから、その表の画像をダミーデータでも使ってどんな感じに分けるのか掲載されてみては?

    • good
    • 3

こんにちは、


>きれいにそろえる
これはには定義が無いですね
プログラムを考える時、必ず要件定義が必要になると思います。
機械に命令するのものなので、明確にしないと提案すらできません。

>このような方法がある。というのがありましたら教えていただきたいです。
方法を提案してほしいのなら、きれい と言うあなたの主観を論理的に掲示してください。
私の主観で提示するにも、情報が少なすぎますね。

VBAでプログラムから離れたとえると

「植木屋さんで植木を買ってきました。家の庭、東西南北にグループ分けしてきれいに植えたいと思います。方法を教えてください。」

VBAでプログラムではないので、あなたは、回答できますか?

ご質問者自身の事(性別や趣味、年齢、感性、家族構成)などなど
庭の広さ、長さ巾、土の色や凹凸、柵のあるなし、、などなど
買ってきた植木の数、種類、色、高さなどなど
家の色、外観、
家の建つ場所、地域(南極?赤道?標高は?などなど)

あくまで私的な意見ですが、上記の事柄が変われば、きれいに並べる方法も変わると思います。仮定を積み上げ提案する程、無意味な事は無いと思う。

ご自身の感性や思考を簡単に他人に委ねない方がよろしいかと思います。
自分はこのように思う、作成したなどと掲示したのちに先人の知恵を得た方がいのではないでしょうか?

回答になってますかね。
    • good
    • 2
この回答へのお礼

綺麗が余計でしたね、わかりずらくて申し訳ないです。
上からならべられればいいだけです

A A B
B A B
A A B
A A B
B →    A
B
A
B
A

ざっくりとですがこのような感じです。

お礼日時:2021/01/30 13:30

ううう、、


>綺麗が余計でしたね
いえ、そういう事ではありません。
何をどのようにグループを作るのですか?と言う事です。
まぁ通常、最後のグループはそれ以外になりますが、このロジックは矛盾があってはいけません。(正しく分けられないからです)
それは、現状、貴方にしか分かりません。
従って回答できません。

困っているのは、このロジックが分からないと言う事と思いますが、
実際に限定サンプルでE列の各内容を手作業で分けてみましょう。
自身で分ける時に~~だからA列、~~だからC列と判断を書き込むなどし、最後に各グループの中に他のグループにも属するモノがある場合は、分ける条件を再考します。
このデモを何度か行ってみてください。どのように分けるか具体的になると思います。

繰り返し、書きますが、入っているもの、どのような基準で分けるかは
貴方にしか分かりません。 追記の様にABCDと単純ならご質問をするはずもないのでは無いかと思います。

基本的にVBAプログラムは、機械に対しての命令なので、ざっくりは受け付けてくれません。あいまい検索などはありますが、なにがあいまいなのかの定義が必要になると思います。

伝わりますでしょうか?
    • good
    • 0

おおよそ検討を付けてたないようなのですが、



『E列の表』

が引っ掛かってました。
ここが

『E列にある値』

であればあとは『その値の内容次第』でしたね。

・A、B、C、D
なのか
・Aグループ、Bグループ、Cグループ、Dグループ
なのかで違いますし既出ですが、
・みかん、りんご、バナナ、イチゴ
だと『どれがどの列?』となりますよね?
もしかしてこのような『分別出来ないものをどうすればそれぞれに分別出来るの?』が知りたいのでしょうか?
    • good
    • 0

あ”。


一番ぶっちゃけた話。
E列に4種類の値がランダムに並んでいるので、それをA~Dに条件なくそれぞれに振り分けたい。
なんて事ですかね?
    • good
    • 0

取り敢えず初級レベルなジジィだと。



Sub megu()
Dim myDic As Object
Dim r As Range
Dim i As Long, key

Set myDic = CreateObject("Scripting.Dictionary")

Range("A:D").EntireColumn.ClearContents

For Each r In Range("E1", Cells(Rows.Count, "E").End(xlUp))
If Not myDic.Exists(r.Value) Then _
myDic.Add r.Value, CreateObject("System.Collections.ArrayList")

myDic(r.Value).Add (r.Value)
Next

i = 0

For Each key In myDic.Keys

Range("A1").Offset(, i).Resize(myDic(key).Count).Value = WorksheetFunction.Transpose(myDic(key).ToArray())
i = i + 1

Next

Set myDic = Nothing

End Sub

各列に当てはまる値はE列に最初に出てくる値順になります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!