Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10009 / 13646 ツリー ←次へ | 前へ→

【24300】さっぱりわかりません・・・。 yayoi 05/4/18(月) 23:16 質問[未読]
【24301】Re:さっぱりわかりません・・・。 IROC 05/4/19(火) 0:21 回答[未読]
【24303】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 8:17 質問[未読]
【24302】Re:さっぱりわかりません・・・。 m2 05/4/19(火) 8:09 回答[未読]
【24304】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 8:19 質問[未読]
【24305】Re:さっぱりわかりません・・・。 G-Luck 05/4/19(火) 8:28 発言[未読]
【24307】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 8:39 質問[未読]
【24308】Re:さっぱりわかりません・・・。 IROC 05/4/19(火) 8:46 回答[未読]
【24310】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 9:09 質問[未読]
【24313】Re:さっぱりわかりません・・・。 ウッシ 05/4/19(火) 10:42 回答[未読]
【24315】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 11:02 お礼[未読]
【24316】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 11:12 お礼[未読]
【24306】Re:さっぱりわかりません・・・。 m2 05/4/19(火) 8:36 回答[未読]

【24300】さっぱりわかりません・・・。
質問  yayoi  - 05/4/18(月) 23:16 -

引用なし
パスワード
   エクセル2002で、A列に「人名」が記入してあり、そこでウィンドウ枠の固定をします。
B,C,D〜〜〜とスクロールして見て行って、AAがウィンドウ枠にかぶったときに、A列の項目が自動的に「別グループの人名」に切り替わる方法はないでしょうか?自分はマクロの編集にVBAをいじったことくらいしかありません。申し訳ありませんが、詳しく書いて頂けると助かります。宜しくお願いします。

【24301】Re:さっぱりわかりません・・・。
回答  IROC  - 05/4/19(火) 0:21 -

引用なし
パスワード
   別グループの人名とは、どのようなデータでしょうか?
もう少し具体的に説明をした方が、回答がつきやすいと思います。

【24302】Re:さっぱりわかりません・・・。
回答  m2  - 05/4/19(火) 8:09 -

引用なし
パスワード
    ウィンドウ枠の固定マクロを2こ作成し

 カーソル位置を Worksheet_Change で 監視し、

  固定位置を変更 する。


  

【24303】Re:さっぱりわかりません・・・。
質問  yayoi  - 05/4/19(火) 8:17 -

引用なし
パスワード
   ▼IROC さん:
>別グループの人名とは、どのようなデータでしょうか?
>もう少し具体的に説明をした方が、回答がつきやすいと思います。


すみません、AさんからBさんに変わるという単純な入れ替わりのことです。

【24304】Re:さっぱりわかりません・・・。
質問  yayoi  - 05/4/19(火) 8:19 -

引用なし
パスワード
   ▼m2 さん:
>
> カーソル位置を Worksheet_Change で 監視し、


これはどうしたら良いのでしょうか?本当にすみません・・・・。

【24305】Re:さっぱりわかりません・・・。
発言  G-Luck  - 05/4/19(火) 8:28 -

引用なし
パスワード
   ▼yayoi さん:
おはようございます。

AA列には名前は入っているのですか?
入っていないなら、どこに記入してありますか?

A列への復帰はどうしますか?

【24306】Re:さっぱりわかりません・・・。
回答  m2  - 05/4/19(火) 8:36 -

引用なし
パスワード
   したを 標準モジュウルで無く 
 
  Worksheet のモジュウル に 貼り付けて改行をしてみてください。

 A1  に カーソル位置が表示します。


Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
  Range("A1") = ActiveCell.Address
end if

【24307】Re:さっぱりわかりません・・・。
質問  yayoi  - 05/4/19(火) 8:39 -

引用なし
パスワード
   >AA列には名前は入っているのですか?
>入っていないなら、どこに記入してありますか?
>
>A列への復帰はどうしますか?

B〜AA〜列には月が入っています。何ヶ月かごとに人の名前を入れ替えたいのです。説明が足りなくてすみません。

復帰はシート(月)を戻せば元に戻る、という具合なら大変助かります。・・・・アホですみません・・・

【24308】Re:さっぱりわかりません・・・。
回答  IROC  - 05/4/19(火) 8:46 -

引用なし
パスワード
   入れ替えるデータをどこに保持してあるのですか?

【24310】Re:さっぱりわかりません・・・。
質問  yayoi  - 05/4/19(火) 9:09 -

引用なし
パスワード
   ▼IROC さん:
>入れ替えるデータをどこに保持してあるのですか?

どこでも良いのですが、シート2(別のシートということです)のA列にあります。

【24313】Re:さっぱりわかりません・・・。
回答  ウッシ  - 05/4/19(火) 10:42 -

引用なし
パスワード
   こんにちは

シートのスクロールイベントは無いのでループで常時監視するか、Ontimeで監視する
か、APIを使ってという事になるかと思います。

ループはCPUを占有し続けるので動作が重くなりますし、Ontime、APIは画面がちらつき
ます。

取り敢えず、Ontime版で、
(Sheet2のA列にB〜AAの時の名前データ、B列にAB〜の時の名前データをセットする)

標準モジュールに
Sub Sheet_Scroll()
  Dim cRng As Range
  Dim pRng As Range
  Dim i  As Long
  If ActiveSheet.Name = "Sheet1" Then
    Set cRng = Worksheets("Sheet2") _
      .Range("A1").CurrentRegion
    Set pRng = ActiveWindow _
      .Panes(ActiveWindow.Panes.Count).VisibleRange
    i = IIf(pRng.Cells(1).Column > 27, 2, 1)
    If cRng.Columns(i).Cells(1).Value <> Range("A1").Value Then
      Application.ScreenUpdating = False
      Range("A:A").ClearContents
      With cRng.Columns(i)
        Range("A1").Resize(.Cells.Count).Value = .Value
      End With
      Application.ScreenUpdating = True
    End If
  End If
  Application.OnTime Now + TimeValue("00:00:01"), "Sheet_Scroll"
End Sub

ブックモジュールに
Private Sub Workbook_Open()
  Sheet_Scroll
End Sub

とセットしてブックを保存終了してから再度開いて試して下さい。

【24315】Re:さっぱりわかりません・・・。
お礼  yayoi  - 05/4/19(火) 11:02 -

引用なし
パスワード
   ▼ウッシ さん:

有難うございます!なんとかやってみます!

それから、ここで答えて下さった皆様、本当に有難うございました。
心から感謝です。

もちょっと勉強して、せめてまともな質問ができるくらいにはなりたいと思います。お世話になりました!

【24316】Re:さっぱりわかりません・・・。
お礼  yayoi  - 05/4/19(火) 11:12 -

引用なし
パスワード
   ▼ウッシ さん:

もう一度御礼を言わせて頂きます。
今やってみたら完璧!!でした!
本当に感謝です、有難うございました!!

10009 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free