例えばエクセルシート内のA列の1~8行目までに文字が入力してあるとします。
そこで、例えばA1のセルからA8のセルを選択したまま(アクティブにしたまま)で、マクロを実行して、A9のセルにA1~A8の文字を連結した文字列を書くということはできますか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

同一シート内で、複数の連続したセル範囲の内容を結合して任意の単一セルに出力します。


使用方法は、連続したセル(元のセル)を選択し、結合結果を表示するセル(出力のセル)をCtrlキーを押しながら選択してこのマクロを実行します。
元と出力のセル選択はどちらが先でもかまいません。少しはマクロらしい?
 (A9というのは選択したセルの直ぐ下に結合結果を書く意味でした?A9は指定するようにしました)

セルの結合は、文字列ばかりなら『&』で結合すればいいのですが、数値の表示機式、通貨、会計、日付・時間の表示形式等は『&』では表示どおり結合できません。下記ではそのセルの表示形式のまま結合するようにしています。

標準モジュールに貼り付けます。
Public Sub KetugoMoji()
  Dim srcArea, desRg As Integer 'Areasのインデックス。元のセルと結果出力セル
  Dim rg As Range 'セル

  With Selection
    'セル範囲を2つ選択しているか(誤った選択をしたらエラーメッセージ出力)
    If .Areas.Count <> 2 Then MsgBox "セル選択エラー": Exit Sub
    '複数セル範囲と単一セル。元のセルと結果出力セルを決める
    If .Areas(1).Rows.Count > 1 And .Areas(2).Rows.Count = 1 Then
      srcArea = 1: desRg = 2
    ElseIf .Areas(2).Rows.Count > 1 And .Areas(1).Rows.Count = 1 Then
      srcArea = 2: desRg = 1
    Else
      MsgBox "セル選択エラー": Exit Sub
    End If

    .Areas(desRg) = "" '結果出力セルをクリア
    For Each rg In .Areas(srcArea)
      .Areas(desRg) = .Areas(desRg) & rg.Text
    Next
  End With
End Sub
    • good
    • 0

アクティブな範囲が可変でもOKなようにしてみました。



Sub Join()
Dim Kekka As String
Dim c As Range

For Each c In Selection
Kekka = Kekka & c.Value
Next

Range("A9").Value = Kekka
End Sub

可変なのに結果がA9ってのも不自然なんでB1とかにすれば、セル100個でもいけます。
    • good
    • 0

エクセルの関数「CONCATENATE」を使って、VBAでA9のセルに数式を設定するか、VBAのモジュールの中で、選択されたセルの値を取得して、先にforループを使って"&"で1つに連結してから、A9に代入すればいいのではないでしょうか。

    • good
    • 0

うぃ、


マクロの中でselectを使わなければ、選択セルは変わらないです。
今回の処理は単純なので、一行でも出来ます。

range("A9") = range("A1") & range("A2") & range("A3") & range("A4") & range("A5") & range("A6") & range("A7") & range("A8")

これで単純にA1~A8の値を結合できます。

数値とかが含まれる場合はまた違いますし(cstrを使う)、間に区切り文字を入れる場合(range("A1") & "・" & range("A2")等)も少し変わります。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qオフ車250ccで セルが回らない(泣) 

お世話になります。
ストレス発散に久々にバイクに乗ろうとしたら!
 
▼セルが回らない 
 ⇒バッテリーあがり?
▼業者に来て貰う 
 ⇒バッテリーつないでも(充電しても)かからないと言うより 
  セルがウンともすんとも言わない。

*冬の間は一度も乗らず
*先月、軽4につなげて 30kmほど走行
*ガソリン少なめ
*いつもは車は充電器につなげたら、一発でかかる
*今回は セルを押してもライトが押してる時に消えるだけで
セルの独特のティティティティ って音もしない
ウィンカー類は特に問題なし。

以上より。
キックはついておらず、私は押しがけはできません。
(昔はできたけど、女だし今の体力では厳しい・・・)

質問として
1.押しがけして エンジンがかかる可能性はあり?
 (ならば男友達に頼もうかと。)
2.バッテリーの問題?
 新品パッテリー購入すれば セルが回る可能性あり?
 (ならばとりあえずバッテリー購入)
3.セルの接触不良の問題?
 (素人でも調べる方法はアリ?セルモータをたたけば一時的に
  かかるとも聞いたことがあるが セルモータはどこにある?)

アドバイスお願いします。
ちなみにバイクは SUZUKI DR250R 98年式
バッテリーは毎年買いなおしています・・・
もともと電気系統のウィークポイントが多く なんと2000年式から
ノーマルでキックスタータがついたと言うバイクです。


 

お世話になります。
ストレス発散に久々にバイクに乗ろうとしたら!
 
▼セルが回らない 
 ⇒バッテリーあがり?
▼業者に来て貰う 
 ⇒バッテリーつないでも(充電しても)かからないと言うより 
  セルがウンともすんとも言わない。

*冬の間は一度も乗らず
*先月、軽4につなげて 30kmほど走行
*ガソリン少なめ
*いつもは車は充電器につなげたら、一発でかかる
*今回は セルを押してもライトが押してる時に消えるだけで
セルの独特のティティティティ って音もしない
ウィンカー類は特...続きを読む

Aベストアンサー

こん**は

 まずはバッテリーですね
 フル充電するか、新品に交換してください。
 次はスタータースイッチを点検してください。
 分解して中が汚れていないか確認です。
 汚れいればパーツクリーナなどで洗浄してください。
 バッテリーとスイッチが正常ならスターターリレーですね
 スイッチを押して「かちっ!」と言うならとりあえずは正常です。
 言わないのならリレー交換です
 リレーが正常なら、次はモーターです。
 モーターはエンジンから外して回るかどうか確認しましょう。
 モーターが回ればエンジン内(クラッチ周り)の故障
 モーターが回らなければモーター交換となります。

 確実にチェック出来る計測機器を用意してください
 工具、テスター等が無いのなら、詳しい友人に頼むのが良いでしょう
 どれもないのなら素直にバイク屋に行かれるのをお勧めします

Qエクセル アクティブセルからアクティブセルの行と指定の列を選択するマク

エクセル アクティブセルからアクティブセルの行と指定の列を選択するマクロをつくりたい。

仕事で、エクセルA列からAL列までのフィールドのデータを毎日50件程登録する要件が出て参りました。
受付表として、受付番号・住所・製品名など登録し、このリストを使用して随時受付内容の確認を致します。

現在、マクロによって、業務負荷を軽減しようと考えております。(マクロはVBのコントロールボックス「再生」ボタンでしか使用できないレベルです)

その一つとして、アクティブセルを選択し、コントロールボックスのボタンを押すとアクティブ行の指定列まで移動するマクロを作りたいと思っております。
例)
 <D列を指定列とする>
  A1を選択 →D1
F10を選択→D10

コントロールボックスは自分で作成する事が出来ます。
どなたか、上記の構文をアドバイス頂けませんでしょうか。

宜しくお願いします。  

Aベストアンサー

Range("D" & ActiveCell.Row).Select

これだけで

Qセルが回らない

ybr125に乗っているのですが、セルが回らないため始動できません。

セルスイッチを押すと「カチっ」と音を立てるだけです。
夏頃から回りづらいと思ってはいたのですが、冬になると完璧に回らなくなりました。

最初はバッテリーを疑って2~3年物のバッテリーを新品に交換
現在、電圧はテスターで測ったところ12~13Vあります。

セルモーター自体はブースターケーブルを使って車から回すと快調に回ります。
押しがけではかかります。

今日はスターターリレーを交換してみましたが変わりませんでした。
ヒューズも交換済みです。

どこら辺が怪しいと思いますか?
キャブまで分解清掃したほうがいいでしょうか?

Aベストアンサー

>セルモーター自体はブースターケーブルを使って車から回すと快調に回ります。

↑この意味が理解出来ませんか?

車のバッテリーからブースターケーブル繋いで回るなら「バイクのバッテリーが弱ってる」のです。

バッテリーの電圧をテスターなどで測る場合は電流負荷を掛けないと弱っていても12Vから13Vの電圧は出ますから「セルモーターを回した時の電圧」を測ってください。

恐らく、8V以下の電圧に下がってしまうはずです。

だから、セルを回すだけのパワー(電流)がバッテリーから供給されずに回らないのです。

バッテリーを新品に換えても「バッテリーに充電されなければ直ぐに容量不足」になってしまいますから、充電系統が故障してる疑いもありますから、エンジン始動後にヘッドライトやウインカーを点けてエンジン回転数を上げたり下げたりして明るさが大きく変化するか確認してください。

また、その時のバッテリー電圧を測ってください。

エンジン回転数に応じてバッテリー電圧が変動するはずですが、バッテリーが正常に充電されて満充電状態になれば電圧変動は少なくなります。

結論は、バイクのバッテリーが充電不足で弱ってるからなので、充電器で充電するか長距離を走行してバイクの発電機で自力充電を行ってください。

バッテリーが元気に回復すれば、車からブースターケーブルを繋がなくてもセルが回るようになります。

>セルモーター自体はブースターケーブルを使って車から回すと快調に回ります。

↑この意味が理解出来ませんか?

車のバッテリーからブースターケーブル繋いで回るなら「バイクのバッテリーが弱ってる」のです。

バッテリーの電圧をテスターなどで測る場合は電流負荷を掛けないと弱っていても12Vから13Vの電圧は出ますから「セルモーターを回した時の電圧」を測ってください。

恐らく、8V以下の電圧に下がってしまうはずです。

だから、セルを回すだけのパワー(電流)がバッテリーから供給されずに回...続きを読む

Q下記にて、BシートのアクティブセルにAシートのA1をコピーしようと

下記にて、BシートのアクティブセルにAシートのA1をコピーしようと
したのですが、エラーになります。どなたかご教示ください。

※アクティブはBシート

Aシート.Range("A1").Copy
Bシート.Range(ActiveCell.Address).PasteSpecial Paste:=xlPasteValues

Aベストアンサー

こんばんは。
3パターン示します。

Bシートがアクティブであれば、2番目で十分だと思います。
値のコピーが目的なら、3番目のようにセルの値を代入する方法が一番簡便かも。


Sub test1()
  Worksheets("Aシート").Range("A1").Copy
  Worksheets("Bシート").Range(ActiveCell.Address).PasteSpecial Paste:=xlPasteValues
End Sub

Sub test2()
  Worksheets("Aシート").Range("A1").Copy
  ActiveCell.PasteSpecial Paste:=xlPasteValues
End Sub

Sub test3()
  ActiveCell.Value = Worksheets("Aシート").Range("A1").Value
End Sub

Qライトはつくのに、セルが回らない!!

お世話になります。

先日、HIDの片方が点灯しなくなった為、新しい商品を購入、今日取り替えました。
けっこう時間はかかったものの、なんとか無事に終わりまして、車を車庫から移動させました。

その後、2時間くらい経ってから、車に乗ってエンジンをかけようとしたら、セルが全く回らなくなってしまいました。

ヘッドライトも付きますし、ルームランプもナビも正常に動きます。

とりあえず、アクセサリ→オンまではいつも通りですし、カチカチと言う音もします。
しかし、そこからどんなに回しても、ウンともスンとも。。。

違う車で何度かバッテリーを上げた事もありますが、、セルが回らないと言ってもキュルキュルぐらいは音が鳴って、エンジンがかからないと言った症状ではあったのですが、今回は本当に何の音も鳴りませんし、何の反応もありません(汗

HID(バルブではなくキットごと)を交換した際に、バッテリーを外しましたので、締め方が緩かっただろうか?と思ったのですが、そうでもないようです。

試しに、他の車のバッテリーとケーブルで繋いでセルを回してみましたが、同じ結果でした。。。(泣

これは何が原因と考えられるでしょうか?
ライトやナビ自体は正常に付くので、バッテリーではないと言うことでしょうか?
セルモーターですか?
今まで不具合らしい不具合は無かったのですが、それともやはりHID交換時に何かしてしまったのでしょうか。。。

車屋にも連絡して見ましたが、今日明日はどうしてもレッカーを使えないそうで。。。

どなたか、詳しい方がおられましたら、どうか想像の出来る範囲でも構いませんのでお知恵をお貸し頂きたく思います。
助けてください(泣
よろしくお願い致します!!

お世話になります。

先日、HIDの片方が点灯しなくなった為、新しい商品を購入、今日取り替えました。
けっこう時間はかかったものの、なんとか無事に終わりまして、車を車庫から移動させました。

その後、2時間くらい経ってから、車に乗ってエンジンをかけようとしたら、セルが全く回らなくなってしまいました。

ヘッドライトも付きますし、ルームランプもナビも正常に動きます。

とりあえず、アクセサリ→オンまではいつも通りですし、カチカチと言う音もします。
しかし、そこからどんなに回しても、ウン...続きを読む

Aベストアンサー

>カチカチ
どういう状況での音?、(1)キーをひねった時、(2)セル始動しようとした時、(3)その他。
真っ先に、セルモーターに十分な電気が行っていない(確実な状況)。
何故?、バッテリーに十分な電力がない(セルはライトの十倍以上必要と思うべし)(2)の時。
バッテリーOKだが(2)、バッテリ、セル直結する(ソレノイドスイッチ接触不良)ただし(1)の時で(2)で音がしない時はソレノイドスイッチの駆動回路に問題。
セルモーターの異常。
電気系をいじった後であり、2時間後の状況から、配線ミスでショートの可能性も否定できません。

Q「Cell( n , "A" )よりも10上のセルに1 or 2 が記入されていなければ、Cell( n , "A" )に1を記入する」

「Cell( n , "A" )よりも10上のセルに1 or 2 が記入されていなければ、Cell( n , "A" )に1を記入する」
というコードを作ってみましたが、メチャクチャな動きになってしまいます(動きが読めません)。
どこが間違っているのか教えてください。
また、もし、よりわかりやすいコードがありましたら教えていただけると嬉しいです。
よろしくお願いいたします。

Sub Cell( n , "A" )に1を記入する()

Dim n As Long
Dim m As Long
Dim s As Long

'現在のセル( n , "A" )より14行上に数値がないことを確認するために
'14行上のセルを全て足し算しています。
For m = n - 14 To n - 1
s = s + Worksheets("Sheet1").Cells(m, "A").Value
Next

'足し算結果がゼロならば何も記入していないと判断し、
'数字の「1」を記入します。
If s >= 1 Then
Worksheets("Sheet1").Cells(n - 1, "A").Value = 0
ElseIf s = 0 Then
Worksheets("Sheet1").Cells(n - 1, "A").Value = 1
End If
End Sub

「Cell( n , "A" )よりも10上のセルに1 or 2 が記入されていなければ、Cell( n , "A" )に1を記入する」
というコードを作ってみましたが、メチャクチャな動きになってしまいます(動きが読めません)。
どこが間違っているのか教えてください。
また、もし、よりわかりやすいコードがありましたら教えていただけると嬉しいです。
よろしくお願いいたします。

Sub Cell( n , "A" )に1を記入する()

Dim n As Long
Dim m As Long
Dim s As Long

'現...続きを読む

Aベストアンサー

はいはい了解。

今着目しているセルが (n,1)であるとする。

条件: 今いるところから上に14行サーチして、一度でも1か2の値が見つかったら
     回答を0とする。14行すべてに1・2の値がひとつも含まれていなければ1とする。



Ans = 1

for i = 1 to 14

x = cells ( n - i , 1 ).value

if x = 1 or x = 2
then
Ans = 0
endif
next i


cells ( n , 1 ) = Ans


デフォルトの回答値=1としておき、一回でも条件にヒットしたら回答値=0にする。
ヒットしたらfor~nextを強制的に閉じてもいいけど、面倒なのでそのまま14回検索する。

Qセルが回らない CDIの故障はあり得ますか?

こんばんば。
ネットで買ったバイクのレストアをしている者です。(レストア初心者です。)
セルスイッチを押してもモーターが回りません。
※良くある、セルスイッチを押してもカチッと音がするだけでセルが回らないってヤツではありません。
セルスイッチを押してもうんともすんとも言いません。
いろいろ配線をチェックしたのですが、原因が分かりません。
そこで下記のサイトを見ましたところ、ジャンクションボックス内にもスターターリレーのスイッチがあるという事を知りました。
http://motor.geocities.jp/cfsxd043/kawasaki/kawa1.html
(1)このジャンクションボックス内のスターターリレーの部分が壊れてセルが回らないって事はあり得ますか?

それと、スターターリレー直結すると、セルモーターが回り、エンジン始動します。

また、スターターリレーが故障しているかチェックする方法を教えてください。

よろしくお願いします。

Aベストアンサー

>スターターリレー直結すると

この意味が曖昧なので断定できないですし
車種が不明ですが、リレーは大体ヒューズ(15~30A)と
一体になってバッテリー近辺にあるスイッチです。
http://www.geocities.co.jp/MotorCity-Circuit/2519/electrics/relay.html

キル、セルボタン等の接触不良があるとリレーに
12V来ないのでリレーが動作しません。
セルスイッチ等の接触やアースが正常でボタン押すか
バッテリー直でリレーの+側に12V送りリレーが動作しない
カチってならないならリレーの故障です。
リレー自体は、9~10Vあれば動作する部品で
長期放置だと固着したり壊れる場合があります。

その他で多いのは、ターミナルの接触不良
バッテリーのマイナス端子からボディやシリンダーに
いく配線の腐食や接触不良などもあります。
キーONで電装やランプが点灯しても、接触が
不十分だと大電流を必要とするためセルモーターは回らない
リレーがカカカカってしか動作しない例も
ありました。

中には特殊な車種、構造のものもあるので
本気でレストアするなら車種くらいは提示するか
サービスマニュアル購入たほうがいいですよ。
そこにリレー以外の電装のチェック方法や始動不能の場合の
フローチャート、配線図も詳しく書いてあるので。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1248608007

>スターターリレー直結すると

この意味が曖昧なので断定できないですし
車種が不明ですが、リレーは大体ヒューズ(15~30A)と
一体になってバッテリー近辺にあるスイッチです。
http://www.geocities.co.jp/MotorCity-Circuit/2519/electrics/relay.html

キル、セルボタン等の接触不良があるとリレーに
12V来ないのでリレーが動作しません。
セルスイッチ等の接触やアースが正常でボタン押すか
バッテリー直でリレーの+側に12V送りリレーが動作しない
カチってならないならリレーの故障です。
リレー自体は、9...続きを読む

Qアクティブセルのひとつ右をアクティブにする方法

アクティブセルのひとつ右をアクティブにしたいのですが、ご存知の方、ご教授ください

Aベストアンサー

activecell.offset(0,1).activate
ではダメなのですか?

Qセルが回らない(T^T)

バリオスなのですが、バッテリーは、充電をし完璧な状態なのにセルが、回らない セルスイッチを押しても 「カチッ!!」と言う音しかしません。これは、セルが悪いのでしょうか?

Aベストアンサー

下記のURLに同じような症状のバイクがありました。
No.9に私が回答していますが、このときの質問者は
これで直ったようです。
一度、ご確認下さい。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1412669

Qアクティブセルの行のセルを複数指定選択-VBA

アクティブセルの行のセルを複数指定選択-VBA

コマンドボタンを押すとアクティブセルのある行のセルを個別に選択したいのですが、どのようにVBAにコードを入力すればいいのか悩んでいます。

例:選択したい列(セル)A:C,F:I
アクティブセルがA2にある時、コマンドボタンを押してA2,B2,C2,F2,G2,H2,I2を選択する。
  アクティブセルがA10にある時は、A10,B10,C10,F10,G10,H10,I10を選択する。

ご回答お待ちしています。宜しくお願い致します。

Aベストアンサー

いくつかありますが、2つほど。

'------------------------------
Sub test222()
 Dim R As Long
 Dim myAdrs As String
 R = ActiveCell.Row
 myAdrs = "A" & R & ":C" & R & ",F" & R & ":I" & R
 Range(myAdrs).Select
End Sub

'------------------------------

Sub test333()
 Dim R As Long
 Dim myRange As Range
 R = ActiveCell.Row
 Set myRange = Cells(R, "A").Resize(1, 3)
 Set myRange = Union(myRange, Cells(R, "F").Resize(1, 4))
 myRange.Select
End Sub
'-------------------------------

以上です。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報