
シフト表のコマで「ブロック」されている前の時間の「出」を同一列の「休」と入れ替えたいがふぇきません。
テストで作った下記マクロで、「ブロック」の前のセルを「ブロック」の後へ移すところまではできたのですが、
①「出」の条件と
②入れ替える「休」の条件、
③検索する範囲の指定
が解らずできません。
どのように指定したら良いか教えてください。
(実行例)
Range("C5")の「出」は「ブロック」の前にあるのでRange("C9")の「休」と入れ替える。
Sub test()
Dim fnd As Range
Dim key As String
Dim v As Variant
key = "ブロック"
Set fnd = Range("C:C").Find(key, LookAt:=xlWhole)
If fnd Is Nothing Then Exit Sub
v = fnd.Offset(-1).Value
fnd.Offset(-1).Value = fnd.Offset(1).Value
fnd.Offset(1).Value = v
End Sub

No.2ベストアンサー
- 回答日時:
1例です。
1.3行から13行まで、下記を繰り返します。
①ブロック出現なしの状態で出が出現したら、その行を記憶
②ブロックが出現したら、そのことを記憶(ブロック出現有とする)
③ブロック出現有の状態で休が出現したら、その行を記憶(但し1回限り)
2.出の行、休の行が共に記憶されているなら、入れ替えを行う
Public Sub 出休()
Dim ws As Worksheet '対象シート(アクティブシート)
Dim wrow As Long '作業行
Dim wcol As Long '作業列
Dim 出_row As Long '交換用出の行
Dim 休_row As Long '交換用休の行
Dim Block As Boolean 'ブロック出現の有無
Dim temp As String '一時保管
Dim sval As String 'セルの値
Set ws = ActiveSheet
wcol = 3 '作業列を3列に設定
出_row = 0
休_row = 0
Block = False
For wrow = 3 To 13
sval = ws.Cells(wrow, wcol).Value
If sval = "ブロック" Then
Block = True
End If
If sval = "出" And Block = False Then
出_row = wrow
End If
If 休_row = 0 And sval = "休" And Block = True Then
休_row = wrow
End If
Next
If 出_row > 0 And 休_row > 0 Then
temp = ws.Cells(出_row, wcol).Value
ws.Cells(出_row, wcol).Value = ws.Cells(休_row, wcol).Value
ws.Cells(休_row, wcol).Value = temp
End If
End Sub
No.1
- 回答日時:
まず。
>「出」を同一列の「休」と入れ替えたいがふぇきません。
入れ替える条件が不明。以前の質問の続きだから省いているのでしょうけど、自作自演と疑われる可能性があるので避けた方が宜しいかと。
過去質のリンクを貼る等で対応可能では?
プロフィールでは非公開ですし、過去にさかのぼって探すのは大変。
既出の質問の回答者向けに質問しているのなら上記を危惧されそう。
知恵袋でも回答者の指名は辞めたぐらいですし。
・実行例が少なすぎる。
上記と合わせるとどう言う条件でどうしたいのかが不明。
特に「ブロック」と「出」の位置関係が過去の質問と相違するのならば、それらについて詳しく記載するか画像にて解説が必要かなと。
>Range("C5")の~
とするのなら列の表示はアルファベットの方が親切かも?
Sub test2()
Dim fnd1 As Range, fnd2 As Range
Dim key1 As String, key2 As String
Dim v As Variant
key1 = "ブロック"
key2 = "休"
Set fnd1 = Range("C:C").Find(key1, LookAt:=xlWhole)
Set fnd2 = Range("C:C").Find(key2, LookAt:=xlWhole)
If fnd1.Offset(-1) = "出" Then
If fnd1 Is Nothing Then Exit Sub
v = fnd1.Offset(-1).Value
fnd1.Offset(-1).Value = fnd2
fnd2.Value = v
End If
End Sub
①②までできました!
あとは③検索範囲ですが誰も教えていただけないようなのでがんばります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オブジェクトが見つかりません
- エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ
- 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ
- VBAが止まります。
- マクロで行を追加、削除すると行位置がずれますが、解決方法はありませんか?。
- Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1
- VBAでoutlook365が起動しません。
- VBAコードが作動せず、どこに問題があるのか教えて下さい。
- 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何
- VBAのユーザーフォームのテキストボックスに入力制限をしたい
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
シフトの「出」と「休」を入れ替えたい
Visual Basic(VBA)
-
ご教授願います PC初心者です。 下のVBAで「エラー424」が出ます。 どこが悪いのでしょうか?
Visual Basic(VBA)
-
A列に重複した番号の行を条件を指定して削除
Visual Basic(VBA)
-
-
4
vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく
Visual Basic(VBA)
-
5
いない人を抽出したい
Excel(エクセル)
-
6
マクロについて教えてください。
Visual Basic(VBA)
-
7
VBAコードが作動せず、どこに問題があるのか教えて下さい。
Visual Basic(VBA)
-
8
findメソッドの変数について
Visual Basic(VBA)
-
9
Excelマクロ Application.Run
Visual Basic(VBA)
-
10
Userformを閉じて開く時、一瞬閉じて開くのがわからないようにする方法はありませんか。 閉じて開
Visual Basic(VBA)
-
11
マクロについて教えてください 作業中のフォルダを ThisWorkbook.Path と表示しますが
Visual Basic(VBA)
-
12
VBAのエラーについて
Visual Basic(VBA)
-
13
CSVファイルでVBAを動かす方法
Excel(エクセル)
-
14
重複を防ぐ記述について教えて下さい。
PHP
-
15
vba
Visual Basic(VBA)
-
16
転記マクロ 変数が定義されていませんの解決法
Visual Basic(VBA)
-
17
エクセルで沢山のレコードの最後に追記するには?
Excel(エクセル)
-
18
リストボックスに表示されたファイルを削除したい
Visual Basic(VBA)
-
19
VBAのSelectedIndexでコンパイルエラーが…
Visual Basic(VBA)
-
20
A列B列C列
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
価格コムの回答者ってブロック...
-
女性に質問です。 冷めたり、嫌...
-
インスタで裏垢から話しかけた...
-
Instagramの同じ端末のブロック...
-
インスタの裏垢をブロックされ...
-
インスタブロックしてた子が ブ...
-
ブロックしたユーザー名の人が...
-
「ブロックしてほしい」と頼む...
-
マンション10階から飛び降りた...
-
FC2動画っていうサイトを開いた...
-
宴会(和室に長机)の上座、下...
-
自分に原因があり、嫌われ修復...
-
LINEって、スマホ故障したら 勝...
-
他のユーザーをブロックしたら...
-
LINE相手が勝手にブロックされ...
-
女性の方に質問です! 物凄く嫌...
-
5ch のエロ広告を見えないよう...
-
「ブロック」するな!と怒られ...
-
都合悪くなるとブロック????
-
なんか、とある人にブロックさ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
なんか好き放題書いてブロック...
-
マンション10階から飛び降りた...
-
ブロック数は無制限ですか?
-
利用者の時間を無駄にする悪質...
-
LINE相手が勝手にブロックされ...
-
「ブロックしてほしい」と頼む...
-
なんか、とある人にブロックさ...
-
5ch のエロ広告を見えないよう...
-
インスタの裏垢をブロックされ...
-
インスタで裏垢から話しかけた...
-
LINEって、スマホ故障したら 勝...
-
自分に原因があり、嫌われ修復...
-
ネット上での匿名による陰湿な...
-
女性の方に質問です! 物凄く嫌...
-
自分の思い通りの回答ではなか...
-
Instagramの同じ端末のブロック...
-
ブロックしたユーザー名の人が...
-
SNSのブロック機能はそもそも自...
-
インスタブロックしてた子が ブ...
-
バンクーバーの「1ブロック先」...
おすすめ情報