Thema Datum  Von Nutzer Rating
Antwort
21.06.2015 09:31:21 chris
NotSolved
21.06.2015 10:58:46 chris
NotSolved
21.06.2015 11:00:17 chris
NotSolved
21.06.2015 11:10:15 Gast99146
NotSolved
21.06.2015 11:35:55 chris
NotSolved
21.06.2015 12:02:26 Gast59454
NotSolved
21.06.2015 12:18:58 chris
NotSolved
21.06.2015 13:08:42 Gast85642
NotSolved
21.06.2015 13:47:56 chris
NotSolved
Blau Bis zur letzten Zelle mit Inhalt einfügen
21.06.2015 14:07:37 Gast11202
NotSolved
21.06.2015 14:52:56 chris
NotSolved
21.06.2015 15:00:04 Gast64551
NotSolved
Rot Rot PS
21.06.2015 15:01:55 Gast64551
NotSolved

Ansicht des Beitrags:
Von:
Gast11202
Datum:
21.06.2015 14:07:37
Views:
1265
Rating: Antwort:
  Ja
Thema:
Bis zur letzten Zelle mit Inhalt einfügen

Ist nicht ganz einfach so ganz ohne Beispieldatei(en).

Darum mal hier was simuliertes, um das Prinzip zu zeigen:

{

wksSrc erhällst du natürlich bei dir über deine geöffnete Arbeitsmappe, deren Referenz (wkb) du ja von der Open-Methode erhälst

also letztendlich dann sowas wie

Set wksSrc = wkb.Worksheets("TabelleMitDaten")

}

'Beispiel benötigt eine Mappe mit mind. 2 (leeren) Tabellenblättern
Option Explicit

Sub Bsp()
  
  Dim wksSrc  As Excel.Worksheet
  Dim wksDest As Excel.Worksheet
  Dim rngSrc  As Excel.Range
  Dim rngDest As Excel.Range
  Dim i As Long
  
  Set wksSrc = Worksheets(2)  
  Set wksDest = Worksheets(1)
  
  With wksDest
    Set rngDest = .Cells(.Rows.Count, "B").End(xlUp)
    If rngDest.Text <> "" Then Set rngDest = rngDest.Offset(1)
  End With
  
  For i = 1 To 4 'es werden vier Quelldateien simuliert
    
    'neue Quelldaten/-datei generieren
    Call CreateExampleData(wksSrc)
    
    With wksSrc
      Set rngSrc = .Range("B1", .Cells(.Rows.Count, "B").End(xlUp))
    End With
    
    'Daten (Zeit) kopieren
    Call rngSrc.Copy
    With rngDest.Resize(rngSrc.Rows.Count)
      Call .PasteSpecial(xlPasteValuesAndNumberFormats, Transpose:=False)
    End With
    
    'Kopf (Datum) kopieren
    Call wksSrc.Range("A1").Copy
    With rngDest.Offset(, -1).Resize(rngSrc.Rows.Count)
      Call .PasteSpecial(xlPasteValuesAndNumberFormats)
    End With
    
    Set rngDest = rngDest.Offset(rngSrc.Rows.Count)
    
    'etwas "Kosmetik" (doppelte Linie trennt die Daten visuell voneinander)
    With rngDest.Offset(, -1).Resize(, 2).Borders(xlEdgeTop)
      .LineStyle = XlLineStyle.xlDouble
    End With
  Next
  
  Application.CutCopyMode = False
  
End Sub

Private Sub CreateExampleData(Worksheet As Excel.Worksheet)
  Call Randomize(Timer) 'Zufallszahlengenerator init.
  With Worksheet
    Call .UsedRange.EntireRow.Delete
    Debug.Print "> Neue Quelldatei <"
    'Kopf (Datum)
    With .Range("A1")
      .NumberFormat = "dd.mm.yyyy"
      .Value = DateAdd("d", Int(CLng(Rnd() > 0.5) * 61 * Rnd()), Date)
      Debug.Print "  Datum: #" & Format$(.Value, "yyyy-mm-dd") & "#"
    End With
    'Daten (Zeit)
    With .Range("B1:B" & Int((20 - 4) * Rnd() + 4))
      .NumberFormat = "hh:mm:ss"
      .Formula = "=TIME(0,0,ROW()*15)"
      .Value = .Value
      Debug.Print "  Anzahl Zeitwerte: " & .Rows.Count
    End With
  End With
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
21.06.2015 09:31:21 chris
NotSolved
21.06.2015 10:58:46 chris
NotSolved
21.06.2015 11:00:17 chris
NotSolved
21.06.2015 11:10:15 Gast99146
NotSolved
21.06.2015 11:35:55 chris
NotSolved
21.06.2015 12:02:26 Gast59454
NotSolved
21.06.2015 12:18:58 chris
NotSolved
21.06.2015 13:08:42 Gast85642
NotSolved
21.06.2015 13:47:56 chris
NotSolved
Blau Bis zur letzten Zelle mit Inhalt einfügen
21.06.2015 14:07:37 Gast11202
NotSolved
21.06.2015 14:52:56 chris
NotSolved
21.06.2015 15:00:04 Gast64551
NotSolved
Rot Rot PS
21.06.2015 15:01:55 Gast64551
NotSolved