
困っています。どなたか教えてください。
下記のように作成しましたが、
A列に文字が入っていたら、上下に線を引くというプロシージャにしたいと思っています。
If Cells(c, 4) = "" Then
Range(Cells(c, 1), Cells(c, 6)).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDot
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
bolFlg = True
Else
まだまだ続きますが・・・・。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
>まだまだ続きますが・・・・。
どこが不明なのでしょう?
いずれにしても
>If Cells(c, 4) = "" Then
では、Cells(c, 1)にしないとA列にはなりませんよね?
文字が入っていたらと言う条件なら、Cells(c, 1) <> "" とします。
この回答への補足
早速のご回答ありがとうございます。
空白でも、文字が入っていても線を引けてしまいます。A列に文字が入ったら線を引くにしたいのです。
全文表示します。
Dim bolFlg As Boolean
Dim intCount As Integer
Range("a1").Select
ActiveCell.CurrentRegion.BorderAround xlContinuous, xlThin
最下行 = Range("a1").CurrentRegion.Rows.Count
'最下列 = Range("a1").CurrentRegion.Column.Count
bolFlg = True: intCount = 0
For c = 1 To 最下行 - 1
intCount = intCount + 1
If Cells(c, 4) = "" Then
Range(Cells(c, 1), Cells(c, 6)).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDot
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
bolFlg = True
Else
If bolFlg = True Then
Range(Cells(c, 1), Cells(c, 6)).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDot
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Else
Range(Cells(c, 1), Cells(c, 6)).Select
With Selection.Borders(xlEdgeTop)
.LineStyle = xlDot
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End If
bolFlg = False
If Cells(c, 4) = "数量" Then
bolFlg = True
End If
If c <= 56 Then
If intCount = 55 Then
Range(Cells(c + 1, 1), Cells(c + 1, 6)).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDot
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
intCount = 0
End If
Else
If intCount = 56 Then
Range(Cells(c + 1, 1), Cells(c + 1, 6)).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDot
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
intCount = 0
End If
End If
End If
ActiveCell.Offset(1, 0).Select
Next c
Range(Cells(56, 1), Cells(56, 6)).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub
No.2
- 回答日時:
最初に、
c = ActiveCell.Row
を入れれば、特に、書かれている限りは、問題はないと思いますが、プロシージャと書きながら、途中を抜き出したものですし、説明もほとんどないので、正確な解答はできないと思います。
例えば、
bolFlg = True
なぜ、フラグを取っているのか、理由が見えてきません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
callで順に実行されるプロシー...
-
Access VBAで行ラベルが定義さ...
-
【Excel VBA】 WorksheetやRa...
-
VBA プロシージャの名前の取得
-
エクセルVBAが対応できるプログ...
-
Accessでグローバル変数を宣言...
-
DBMS_OUTPUT.PUT_LINEを実行し...
-
エクセルVBAでUserFormを起動し...
-
ユーザーフォームのイベントプ...
-
ブックオープン時にテキストボ...
-
Excel97のVBAで、出てくるPubli...
-
OutlookVBAで作成したマクロに...
-
Statement ignored というエラー
-
sqlplusでヘッダーが付かない
-
重複するIDのデータを1行にま...
-
Accessの数値から時間に変換す...
-
SQL文のエラー
-
wordの差し込み印刷での日付表示
-
自動連番でカラムを更新したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
callで順に実行されるプロシー...
-
エクセルVBAでUserFormを起動し...
-
【Excel VBA】 WorksheetやRa...
-
Excel VBAで「プログラム実行」...
-
OutlookVBAで作成したマクロに...
-
或るプロシージャの呼び出し元判定
-
DBMS_OUTPUT.PUT_LINEを実行し...
-
Accessでグローバル変数を宣言...
-
エクセルVBAが対応できるプログ...
-
PL/SQLのエラーについて
-
excel/vba/public変数
-
VBA プロシージャの名前の取得
-
ACCESS マクロをモジュールに変...
-
ACCESS2007インポート時の空白...
-
Oracle8iでのSQL履歴
-
テーブルの中身を出力するプロ...
-
ExcelVBAでしりとりのやり方を...
-
Excel:ThisWorkbookオブジェク...
おすすめ情報