- ベストアンサー
ExcelVBAで文字列編集後別シートのセルにコピー
- ExcelVBAを使用して、別のシートのセルに文字列を編集してコピーする方法について教えてください
- Excel2000を使用している場合、ExcelVBAを使用して別のファイルから文字列を編集して特定のセルに貼り付ける方法を教えてください
- ExcelVBAを使って、別のファイルの特定のセルから日付や曜日を取得し、それを別のシートの特定のセルに貼り付ける方法を教えてください
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Sheet1が1シート目、コピーしたファイルが2シートめの場合のみですが… 動かしてないのできちんと動くかは不明… 動かない場合は勉強もかねて、いろいろいじってください。 特に15分減算の部分はもっとスマートな方法がありそう。 Private Sub YattukeSigoto() Dim strDate As String Dim strYoubi As String Dim strKen As String Dim strSetKen As String Dim strTime1 As String Dim strTime2 As String Dim strTime3 As String Dim intHour As Integer Dim intMin As Integer With Sheets(2) strDate = Mid(.Range("A4"), 6, 10) strYoubi = WeekdayName(Weekday(.Range("A4"))) strKen = Mid(.Range("A5"), 8, 1) Select Case strKen Case "1" strSetKen = "福岡" Case "2" strSetKen = "佐賀" Case "3" strSetKen = "長崎" Case "4" strSetKen = "熊本" Case "5" strSetKen = "大分" Case "6" strSetKen = "宮崎" Case "7" strSetKen = "鹿児島" Case "8" strSetKen = "沖縄" Case Else MsgBox "県コードが正しくありません" End Select strCNT = Mid(.Range("A6"), 8, 2) & "本" strTime1 = Mid(.Range("A2"), 20, 6) strTime2 = Mid(.Range("A12"), 11, 5) If IsNumeric(Left(strTime2, 2)) = True And _ IsNumeric(Right(strTime2, 2)) = True Then If Int(Right(strTime2, 2)) < 15 Then intMin = 60 - (15 - Int(Right(strTime2, 2))) If Int(Left(strTime2, 2)) = 0 Then intHour = 23 Else intHour = Int(Left(strTime2, 2)) - 1 End If Else intHour = Int(Left(strTime2, 2)) intMin = Int(Right(strTime2, 2)) - 15 End If If intHour < 10 Then strTime3 = "0" & intHour & ":" Else strTime3 = intHour & ":" End If If intMin < 10 Then strTime3 = strTime3 & ":" & "0" & intMin Else strTime3 = strTime3 & ":" & intMin End If Else MsgBox "入力された時刻が正しくありません" strTime3 = "--:--" End If End With With Sheets(1) .Range("B21") = strDate .Range("E21") = strYoubi .Range("B24") = strSetKen .Range("B28") = strCNT .Range("E21") = strTime1 .Range("E34") = strTime2 .Range("E36") = strTime3 End With End Sub
お礼
迅速な回答ありがとうございます。自分でもできるバグ処理を行い、試したところ2つほどエラーが出て悩んでます。 (1)strYoubi = WeekdayName(Weekday(.Range("A4")))の箇所で「型が一致しません」と出て手詰まり。 (2)(1)の一文をとりあえず削除して続行させると、15分減算の部分で表示が16::05と表示される。(:が一つ多い) 上記2点修正できませんか?
補足
その後手直しをした結果完璧にできました。 感謝感激です。ありがとうございました。