Frage zum Makro und Optimierung
28.12.2020 14:33:52
Marko
mit diesem Makro wird in ALLEN Sheets die Spalte B hinzugefügt. Das soll jedoch nur in der mit dem Makro hinzugefügten Sheet ausgeführt werden.. Was habe ich falsch gemacht? Und, wie kann das Makro optimiert werden?
Vielen Dank für Eure Hilfe.
Private Sub CommandButton7_Click()
Dim objWB As Workbook
Dim strFile As String
On Error GoTo ErrExit
strFile = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx; *.xlsm)," & _
"*.xls; *.xlsx; *.xlsm")
If strFile "Falsch" Then
Set objWB = Workbooks.Open(strFile)
objWB.Sheets(3).Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
objWB.Close False
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = "NEUE DATEI"
End If
ErrExit:
With Err
If .Number 0 Then MsgBox "Fehler " & .Number & vbLf & vbLf & _
.Description & vbLf & vbLf & "In Prozedur (copySheetFromWB) in Modul Modul1", _
vbExclamation, "Fehler in Modul1 / copySheetFromWB"
End With
Set objWB = Nothing
Dim TabName
TabName = InputBox("Bitte geben Sie den Namen ein!", "Blattname")
If TabName = False Then
MsgBox "Eingabe wurde abgebrochen!", vkokOnly, " Blattname"
ElseIf TabName = "" Then
MsgBox "Keine Eingabe vorgenommen!", vkokOnly, " Blattname"
Else
ActiveSheet.Name = TabName
End If
ActiveSheet.Rows("1:6").Delete Shift:=xlUp
ActiveSheet.Rows("1:2").ClearContents
ActiveSheet.Columns("B:C").Insert
ActiveSheet.Range("A1").Value = ActiveSheet.Name
ActiveSheet.Range("C5:C300").FormulaLocal = "=LEFT(A5;5)*1"
MsgBox "Import abgeschlossen", vkokOnly, " Daten Import"
End Sub
Anzeige