Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Als Wert einfügen

Betrifft: Als Wert einfügen von: Ignacio Coll
Geschrieben am: 07.10.2014 14:03:27

Guten Tag allerseits,

ich bin bei meinem unten stehenden Code leider "stecken" geblieben und bedarf eure Hilfe :(

Der Code kopiert aus einer Datei ein Bereich und fügt es in eine Tabelle wieder ein.
Problem: Es wird als Funktion eingefügt. D.h. in der neuen Dateien erscheinen die Formeln der Ursprungsdatei. Ich will alerdings nur die Werte haben.

Meint ihr das dies möglich ist?

Gruß!

Public Sub Daten_mehrerer_Dateien_konsolidieren()
On Error GoTo errExit
Dim WBQ As Workbook
Dim WBZ As Workbook
Dim varDateien As Variant
Dim lngAnzahl As Long
Dim lngLastQ As Long
Dim i As Long
 
Set WBZ = ActiveWorkbook
WBZ.Worksheets(1).Range("A3:V65536").ClearContents
 
varDateien = _
Application.GetOpenFilename("Datei (*.xlsx),*.xlsx", False, "Bitte gewünschte Datei(en)  _
markieren", False, True)
 
With Application
  .ScreenUpdating = False
  .EnableEvents = False
  .Calculation = xlCalculationManual
End With
 
For lngAnzahl = LBound(varDateien) To UBound(varDateien)
Set WBQ = Workbooks.Open(Filename:=varDateien(lngAnzahl))
  lngLastQ = WBQ.Worksheets(1).Range("A65536").End(xlUp).Row
  WBQ.Worksheets(1).Range("B3:W" & lngLastQ).Copy _
  Destination:=WBZ.Worksheets(1).Range("A" & WBZ.Worksheets(1).Range("V65536").End(xlUp).Row +  _
1)
WBQ.Close
Next
 
With Application
  .ScreenUpdating = True
  .EnableEvents = True
  .Calculation = xlCalculationAutomatic
End With
 
MsgBox "Es wurden " & UBound(varDateien) & " Dateien zusammengefügt.", 64

 
Exit Sub
 
errExit:
With Application
  .ScreenUpdating = True
  .EnableEvents = True
  .Calculation = xlCalculationAutomatic
End With

 
If Err.Number = 13 Then
MsgBox "Es wurde keine Datei ausgewählt"
  Else
MsgBox "Es ist ein Fehler aufgetreten!" & vbCr _
& "Fehlernummer: " & Err.Number & vbCr _
& "Fehlerbeschreibung: " & Err.Description
End If


With Sheets("Konsolidierung")
 For i = 400 To 1 Step -1
  If .Cells(i, 1) = "" Then Rows(i).Delete
 Next
End With


 
End Sub

  

Betrifft: AW: Als Wert einfügen von: yummi
Geschrieben am: 07.10.2014 14:33:26

Hallo Ignatio,

du musst deine copy Zeile ändern, so in etwa:


WBQ.Worksheets(1).Range("B3:W" & lngLastQ).Copy

WBZ.Worksheets(1).Range("A" & WBZ.Worksheets(1).Range("V65536").End(xlUp).Row +  _
1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Gruß
yummi


  

Betrifft: AW: Als Wert einfügen von: Ignacio Coll
Geschrieben am: 08.10.2014 08:47:48

Vielen Dank! Hat super geklappt


 

Beiträge aus den Excel-Beispielen zum Thema "Als Wert einfügen"