スポンサーサイト

一定期間更新がないため広告を表示しています

はちの腹、割れてる


はちの!腹が割れてる?


Excel VBA シート名「26.1」をシリアル値に変換する

原紙を作り、1月から12月までシートを最後尾に追加した後に、

シートのタイトルもシート名と同じにしてスケジュールを作成

Dim myWS As Object
Dim InputName As String
Dim i As Integer
Dim buf As String

InputData:  ’<エラーでここに戻る>
’<シート名を「26.1」と入力>
InputName = Application.InputBox(Prompt:="シート名を入力してください", Title:="新規")

'<何も入力せずOKの場合、処理を終わりにします。>
If InputName = "" Then Exit Sub

'<キャンセルの場合、処理を終わりにします。>
If InputName = "False" Then Exit Sub

'<全角が混じっている場合に半角へ変換します。>
InputName = StrConv(InputName, vbNarrow)

'<同じワークシート名がないか確認します。>
For Each myWS In Sheets
If myWS.Name = InputName Then
MsgBox "この名前は既に使われています。再入力してください。"
GoTo InputData
End If
Next

’<最後尾にシートが追加>
ActiveSheet.Copy After:=Sheets(Sheets.Count)
'<追加されたワークシートに入力された名前を付けます。>
ActiveSheet.Name = InputName  ’<シート名は:26.1>

'<これをシリアル値にするため、Replaceで.(カンマ)の区切りを/(スラッシュ)に変換
’&の後ろの1は1日の意味
buf = Replace(InputName, ".", "/") & "/1"
’26/1/1になるが、これでは、西暦になるので
’Hを結合させる
buf = "H" & buf
’最後にシリアル値に変換して、セルに代入
Range("K3").Value = DateSerial(Year(buf), Month(buf), 1)

米沢市 田吾作釣り堀さんのホームページ更新

米沢市、田吾作釣り堀さんのホームページ更新しました。

春から秋、そして冬へ

ホームページを見ながら、今年を振り返る〜〜

今年も後、2か月 


1年が過ぎるのが、早すぎる〜〜〜〜〜

田吾作さんホームページへアクセス
  http://www.tagosakuturibori.sakura.ne.jp/

SEO対策万全です。

「米沢 釣り堀」で検索すると上位に!

SEO対策は、日々の努力です。お金をかける必要なし!

Excel 行高 文字切れ解消 結合部分を考慮し改ページ

Excelで印刷したら、文字切れしてた〜〜〜

結合部分がページまたがる〜〜

そんな悩みを解消できます。

列幅は未対応。

対応したファイルもダウンロードできます。

http://www.pcs-assist.com/bbs.html

Sub 行高調整()

Application.ScreenUpdating = False '画面のちらつきを抑える

Cells.EntireRow.AutoFit ' シート全体の行を自動調整させる

Dim myRow As Long '行の高さは、日々変わるので変数に代入


For myRow = 1 To Cells(Rows.Count, 1).End(xlUp).Row '1行目から最終行まで繰り返す

With Cells(myRow, 2)
' 高さを15足す
.RowHeight = .RowHeight + 25
End With

Next myRow
Application.ScreenUpdating = True 'ちらつきの設定を戻しておく

End Sub
Sub Heightreset()

Rows.RowHeight = 13.5

End Sub


Sub 行結合対応改ページ()
' 水平方向の改ページ位置を結合セル内から外し、上に調整移動する
'----------------------
Const TargetCol = "A" ' <--- 改ページに反映させる結合のある列を指定
'----------------------
Dim Rng As Range
Dim HPB As Long
Dim Rw As Long

Application.ScreenUpdating = False

Cells.EntireRow.AutoFit ' シート全体の行を自動調整させる

Dim myRow As Long


For myRow = 1 To Cells(Rows.Count, 1).End(xlUp).Row

With Cells(myRow, 2)
' 高さを15足す
.RowHeight = .RowHeight + 25
End With

Next myRow

Application.ScreenUpdating = True ' False禁止

'何らかの編集が行われている範囲の右下端セルを選択し、Rng変数にそのセル番地を代入。
Set Rng = Range("a2").SpecialCells(xlCellTypeLastCell).Offset(1, 0)

With ActiveSheet
If .HPageBreaks.Count = 0 Then Exit Sub 'アクティブシートの改ページが0だったら終了

'ResetAllPageBreaksメソッドを使用すると設定した改ページを全て解除する事が出来ます。
ActiveSheet.ResetAllPageBreaks

For HPB = 1 To .HPageBreaks.Count ' 改ページの数だけ回す

'HPageBreaks インデックスによって参照されている水平方向の改ページより上にアクティブ セルがある場合、エラーになるので!
'最終セルをアクティブにする必要がある。
Rng.Activate

'1つ目の改ページ行数をRw変数に代入。18行目と19行目が結合されていれば、19がRwに代入される。
Rw = .HPageBreaks(HPB).Location.Row

'セル番地(最初の改ページ行番号,列番号は1)
'Range("A1").Columnで列番号を取得。結合されているセル番地がアクティブになる。
Cells(Rw, Range(TargetCol & 1).Column).Activate


'18行目と19行目が結合されていれば、selection行は18、Rwは19、Rwの方が大きいので、改ページが変更される
If Selection.Row < Rw Then
.HPageBreaks.Add Before:=ActiveCell '前に水平改ページする
End If

Next HPB '改ページの数だけ繰り返す。
End With
Range("A1").Activate
Set Rng = Nothing
End Sub
Sub 行結合対応改ページと行調整()

'----------------------
Const TargetCol = "A" ' <--- 改ページに反映させる結合のある列を指定
'----------------------
Dim Rng As Range
Dim HPB As Long
Dim Rw As Long

Application.ScreenUpdating = False

Cells.EntireRow.AutoFit ' シート全体の行を自動調整させる

Dim myRow As Long


For myRow = 1 To Cells(Rows.Count, 1).End(xlUp).Row

With Cells(myRow, 2)
' 高さを15足す
.RowHeight = .RowHeight + 25
End With

Next myRow

Application.ScreenUpdating = True ' False禁止

'何らかの編集が行われている範囲の右下端セルを選択し、Rng変数にそのセル番地を代入。
Set Rng = Range("a2").SpecialCells(xlCellTypeLastCell).Offset(1, 0)

With ActiveSheet
If .HPageBreaks.Count = 0 Then Exit Sub 'アクティブシートの改ページが0だったら終了

'ResetAllPageBreaksメソッドを使用すると設定した改ページを全て解除する事が出来ます。
ActiveSheet.ResetAllPageBreaks

For HPB = 1 To .HPageBreaks.Count ' 改ページの数だけ回す

'HPageBreaks インデックスによって参照されている水平方向の改ページより上にアクティブ セルがある場合、エラーになるので!
'最終セルをアクティブにする必要がある。
Rng.Activate

'1つ目の改ページ行数をRw変数に代入。18行目と19行目が結合されていれば、19がRwに代入される。
Rw = .HPageBreaks(HPB).Location.Row

'セル番地(最初の改ページ行番号,列番号は1)
'Range("A1").Columnで列番号を取得。結合されているセル番地がアクティブになる。
Cells(Rw, Range(TargetCol & 1).Column).Activate

'18行目と19行目が結合されていれば、selection行は18、Rwは19、Rwの方が大きいので、改ページが変更される
If Selection.Row < Rw Then
.HPageBreaks.Add Before:=ActiveCell '前に水平改ページする
End If

Next HPB '改ページの数だけ繰り返す。
End With
Range("A1").Activate
Set Rng = Nothing
End Sub