No.3ベストアンサー
- 回答日時:
>>それと、今後「最初の質問内容以外の質問」をするときは、
>>一度締め切ってから別のスレッドでお願いします。
>了解です!
↑この発言に高感度UPw
大概、マナーに関してこういう指摘をすると、質問者さんは逆切れします。
実際のところ、
・アドバイスに対し、レスポンスが全く無い
・締め切りもしない
・質問者がアドバイスを見ているかどうかがわからない
・突っ込みが入ると放置スレッドになる
・etc...
そういう人だとわかったら、答えようとする気が失せます。。。
この考えは私だけでは無いと思います。
その点あなたは「了解です」しかも「!(感嘆符)付き」
素直な人だと感じました^^
是非解決に向かいましょう。
さてさて前置きはこれぐらいにしてと。。。
-----------------------------------------------
>ですが実行してみたのですがエラーとなりました。
んんんんん?
これだけではわかりません。。。
エラーが出たときには、
・走らせたプログラム抜粋の記載
・エラー発生行位置
・エラー内容「エラー番号」「エラー文字列」
を載せましょう。
それを見た人は
・単純エラーなのか
・前後の値の関係性によるエラーなのか
・構文エラーなのか
を推測し、さらに「質問者のやることの方向性」も考え、参考URLまで載せる場合もあります。
-----------------------------------------------
それでも「やりたい事」の詳細がよく書いてあったので、内容はわかりました
下にサンプルを張っておきます。
Option Explicit
Sub 結合セル数の出力()
'このマクロブックのシート1を対照とする
Dim l_xlsSheet As Worksheet
Set l_xlsSheet = ThisWorkbook.Worksheets("Sheet1")
'チェックするA列の行番号
Dim l_lngRow As Long
l_lngRow = 1
'行番号がシート最大行数を超えるまで続ける
Do Until (l_lngRow > l_xlsSheet.Cells.Rows.Count)
'対象セルを取得
Dim l_rngA As Range
Set l_rngA = l_xlsSheet.Cells(l_lngRow, 1)
'結合セル数の取得
Dim l_lngMargeCount As Long
l_lngMargeCount = l_rngA.MergeArea.Cells.Count
'セルが2セル以上であれば結合セルとなる
If (l_rngA.MergeArea.Cells.Count > 1) Then
'隣のセルに、結合セル数を出力する
l_rngA.Offset(, 1).Value = l_lngMargeCount
End If
'次の行番号を用意
l_lngRow = l_lngRow + l_lngMargeCount
Loop
MsgBox "終了"
End Sub
ここのVBカテにはVBAの質問もいっぱい上がっているので、暇なとき別の人の質問を最初から最後まで読むと、結構いいスキルが付くと思いますよ。
1050YENさん、ご回答ありがとうございます。
>了解です!
↑この発言に高感度UPw
以外なところで高感度が上がって
恐縮ですw
さすがに理系の思考回路をお持ちの方ですね。
マナーにおいても説明においても目的達成まで
の完璧なフローです。
私みたいに理系でないと説明部分で欠落が発生してしまうんですよね。。
さてサンプルプログラム実行してみました。
さすが完璧です。
思っていた通りに実行できました(≧∀≦)
ありがとうございます。
ひとつ質問させて頂きたいのですが、結合セル数の取得で
l_lngMargeCount = l_rngA.MergeArea.Cells.Count
として変数l_lngMargeCountに結合セルをカウントさせた数を
代入されていますが、そうなると次のIF文で
If l_lngMargeCount > 1 Then としても同じことになるのでしょうか?
>ここのVBカテにはVBAの質問もいっぱい上がっているので、
>暇なとき別の人の質問を最初から最後まで読むと、
>結構いいスキルが付くと思いますよ。
そうですね。VBAのスキルをもっとつけたいので暇でなくても
あえて読むようにしたいと思います。
No.4
- 回答日時:
>ひとつ質問させて頂きたいのですが、
はい
>結合セル数の取得で
>l_lngMargeCount = l_rngA.MergeArea.Cells.Count
>として変数l_lngMargeCountに結合セルをカウントさせた数を代入されていますが、
はい
>そうなると次のIF文で
>If l_lngMargeCount > 1 Then としても同じことになるのでしょうか?
んんんんんんん?
この前の発言のサンプルで
l_lngMargeCount = l_rngA.MergeArea.Cells.Count
の後に、
If (l_rngA.MergeArea.Cells.Count > 1) Then
をやっていますが、、、
どのようなパターンを想定されているのかがわかりません。
まるっきり質問されていることを、サンプルはやっているように思います。
文章だけでの質問は、想像がしづらいので、
「文章」 + 「そちらで改造してみたコードの抜粋」
を載せるとわかりやすいです。
読解力が無くて、すいません。。。
返信ありがとうございます。
>そうなると次のIF文で
>If l_lngMargeCount > 1 Then としても同じことになるのでしょうか?
んんんんんんん?
すみません、説明不足でした。
If (l_rngA.MergeArea.Cells.Count > 1) Then
の意味はIf l_lngMargeCount > 1 Then と
同じ意味をもつということですか?と質問したかったのです。
質問する前にIf l_lngMargeCount > 1 Thenに置き換えて
事前に実行するべきでした。。
そして今置き換えてみました。
実行できました!
これにて締め切らせて頂きます!
親切なご対応誠にありがとうございまました(≧∀≦)
No.2
- 回答日時:
補足されていたのですね。
。。(お礼はなく補足で返されると、私のところにメールが飛ばないので、気づきづらいのです。。。)
それと、今後「最初の質問内容以外の質問」をするときは、一度締め切ってから別のスレッドでお願いします。
------------------------------
すいませんが、補足の内容を全く理解できません。
ここの掲示板は画面をUPできるので、画面イメージを載せてもらえませんか?
そして、どのような出力が行われたらよいかも載せてください。
仮に、現在組んでいるプログラムがあるのであれば、それも抜粋して載せてください。
あと。。。
>’おまけのFor~Nextを使用すればいいのでしょうか
実行してみましたか?
「出力結果が何を取得しているか」が、わかりますか?
返信ありがとございます。
>それと、今後「最初の質問内容以外の質問」をするときは、
>一度締め切ってから別のスレッドでお願いします。
了解です!
>’おまけのFor~Nextを使用すればいいのでしょうか
実行してみましたか?
ですが実行してみたのですがエラーとなりました。
今回の私の実行させたいことなのですが、
Sheet1のA列に結合されているセルがあり
(A1~A3)(A4~A6)(A7~A12)といった具合にセル数はバラバラです。
その隣のB列に同じ感覚で(B1~B3)(B4~B6)(B7~B12)と結合されている
空白のセルがあります。
A列のセル数をB列に表示させたいのです。
上の例でいうと(A1~A3)は3行が結合されているので隣のB列に3といった具合です。
No.1
- 回答日時:
Dim l_rngA1 As Range
'A1を取得
Set l_rngA1 = Range("A1")
'結合セルのカウント
MsgBox l_rngA1.MergeArea.Cells.Count
'おまけ
'結合セルのアドレス値をデバッグ
Dim l_rngWk As Range
For Each l_rngWk In l_rngA1.MergeArea.Cells
Debug.Print l_rngWk.Address(False, False)
Next
この回答への補足
返信ありがとうございます。
確かに上記でカウントできたんですが、実はA列にセルの結合がA1
の次に連なっていくつかあり、その各々のカウントの結果をB列に表示させたいのです。B列もA列と同じ間隔で結合されています。
これをそれぞれカウントさせ、結果をB列に表示させるには
’おまけのFor~Nextを使用すればいいのでしょうか。
宜しければご教授お願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Vba エクセルマクロで、 A列の、A1セルからA10セルに空白のある行を削除する、のは Range 3 2022/11/05 17:44
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Excel(エクセル) EXCEL 複数の条件に合致する個数を求めるには? 3 2022/04/19 16:39
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Excel(エクセル) エクセルのA1~A5の任意のセルを選んだら1、A6~A10のセルなら2と返す設定にしたいと思ってます 6 2023/03/20 18:46
- Excel(エクセル) エクセルのセル値に対応してマクロを実行する方法を教えてください セルA1が「1」の時にマクロ名「マク 2 2022/06/19 18:45
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) エクセル表作成について 5 2023/03/12 13:25
- Excel(エクセル) エクセルのことで教えてください。 A1セルに、 別シートのA1セルが1のときは「A」、2のときは「B 4 2023/02/24 23:08
- Excel(エクセル) Excelマクロ(VBA)CELL形式とA1形式の使い分け 6 2022/08/27 23:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのマクロについて教えてく...
-
Vba 実数および実数タイプの変...
-
ユーザーフォームに別シートか...
-
VBA レジストリの値の読み方に...
-
エクセルVBAについて
-
VBA listBoxから
-
ExcelのVBAコードについて教え...
-
VBA 複数条件の分岐処理の上手...
-
ExcelのVBAです。フォルダ内の...
-
VBAの計算で@が出てしまう件
-
VB.net(VB)で、フォームにExcel...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBAの質問になります Userform内で
-
VBAの質問になります メッセー...
-
Excel マクロについての相談
-
Vba SelStart、SelLen教えてく...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
【VBA】マクロの入ったファイル...
-
VBA 複数条件の分岐処理の上手...
-
現在のブックを閉じないで、マ...
-
VBAで各列の"+"と"o"の合計数を...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ユーザーフォームに別シートか...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
エクセルのマクロについて教え...
-
VBA listBoxから
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
おすすめ情報