Es gibt zwei Fragen in diesem Post. Vielen Dank im Voraus.Auswählen der Arbeitsmappe und Suchen/Ersetzen
Mein erstes Problem ist, dass ich nicht scheinen kann, Excel zu bekommen, um die Excel-Arbeitsmappe zu wählen, die "(DATES) -Benutzung" genannt wird, wo (DATEN) jeden Tag ändert. Das zweite Problem ist, dass das .Replace
Objekt gibt mir und Run-Time error '438': Object doesn't support this property method
. Könnte jemand bitte einen Blick darauf werfen und mir sagen, wo ich meine Fehler mache. Danke nochmal!
Sub UsersBySource_Update()
' Create variables
Dim ws As Worksheet
Dim wb As Workbook
Dim unspecified As String
Dim organic As String
Dim TheString As String, Cohort As Date
' Ask user for cohort date and return an error if invalid date is entered
TheString = Application.InputBox("Please Specify The Cohort:")
If IsDate(TheString) Then
Cohort = DateValue(TheString)
Else
MsgBox ("Invalid Date")
End If
' Set variables
unspecified = "[Unspecified]"
organic = "Organic"
' Activate the workbook
For Each wb In Workbooks
If wb.Name Like "*-Usage" Then
wb.Activate
End If
Next
' Find and Replace the unspecified and organic variables in the workbook
ActiveSheet.Replace What:=unspecified, Replacement:=organic, LookAt _
:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
' Add Columns and Row to fix formatting to continue
Columns("B:E").Insert shift:=xlToRight
Range("B2").EntireRow.Insert
' Copy and Paste initial date range to start program
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False
End Sub
Ich glaube, die 'Replace' Methode wirkt auf einen Bereich, kein Arbeitsblatt. – Brian
Nun, da du deine Antwort (yay!) Hast, schlage ich ** sehr ** vor, durchzulesen und zu implementieren, [vermeide die Verwendung von '.Select'] (http://stackoverflow.com/questions/10714251/how-to- Vermeiden-Verwenden-Wählen-In-Excel-VBA-Makros). Es macht Ihren Code straffer, weniger fehleranfällig und zeigt Ihnen, wie Sie direkt mit Ihren Daten arbeiten. Dadurch kann Ihr Makro schneller ausgeführt werden. – BruceWayne