Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1668to1672
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bereich befüllen

Bereich befüllen
22.01.2019 11:19:28
Georg
Liebe Mitglieder, ich sitze gerade auf dem Schlauch mit meiner Logik:
Der folgende Code macht alles korrekt bis zur Zeile "Dim n as Long"
Der läuft zwar durch aber es passiert nichts.
Was will ich? Ich kopiere Werte nach Spalte C und D aus einer anderen Datei.
Die Datei wird zukünftig forlaufend befüllt.
Ist der Kopiervorgang beendet, soll noch das Fachgebiet (Abfrage über Input Box) in Spalte A eingetragen werden, und zwar genau über die Anzahl d. Zeilen, die gerade kopiert wurden. Und das haut nicht hin?
Danke für einen Hinweis, an was es hakt. Gruß G
Sub DatenCopy()
Dim wbQuelle As Workbook
Dim wbZiel As Workbook
Dim strFileName
Dim strfilter As String
Dim loLastRowQuelle As Long
Dim loLastRowZiel As Long
Dim strBereich As String
Dim Fachgebiet As String
'DateiÖffnen Dialog
strfilter = "Excel-Dateien(*.xlsx), *.xlsx" '** Dateifilter definieren
ChDrive "Q"
ChDir "Q:\Testpfad" '** Laufwerk und Pfad definieren, welcher geöffnet werden soll
'** Den im Dialogfeld gewählten Namen auslesen
strFileName = Application.GetOpenFilename(strfilter)
'** Prüfen, ob eine gültige Datei ausgewählt wurde
If strFileName = False Then Exit Sub
'** Gewählte Datei öffnen
Set wbQuelle = Workbooks.Open(strFileName)
Set wbZiel = ThisWorkbook
wbZiel.Activate
loLastRowZiel = wbZiel.Worksheets(1).Cells(Rows.Count, 4).End(xlUp).Row 'Wie weit ist Spalte D  _
bisher befüllt
wbQuelle.Activate
loLastRowQuelle = wbQuelle.Worksheets(1).Cells(Rows.Count, 14).End(xlUp).Row
strBereich = Range(Cells(16, 14), Cells(loLastRowQuelle, 15)).Address ' Der Kopierbereich, der  _
stimmt so, immer ab Zeile 16 runter
wbQuelle.Worksheets(1).Range(strBereich).Copy
wbZiel.Worksheets(1).Cells(loLastRowZiel + 1, 3).PasteSpecial Paste:=xlPasteValues, Operation:= _
xlNone, _
SkipBlanks:=False, Transpose:=False
With wbZiel.Worksheets(1)
.Columns("C:C").NumberFormat = "#,##0.00"
.Columns("C:D").AutoFit
End With
Application.CutCopyMode = False
Fachgebiet = Application.InputBox("Geben Sie das Fachgebiet ein!")
wbZiel.Activate
Dim n As Long
With wbZiel.Worksheets(1)
For n = 2 To loLastRowZiel
If .Cells(n, 1).Value = "" Then
.Cells(n, 1).Value = Fachgebiet
End If
Next n
End With
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich befüllen
22.01.2019 12:39:06
Rudi
Hallo,
For n = 2 to .cells(rows.count,4).end(xlup).row
Gruß
Rudi
AW: danke Rudi, manche Dinge..
22.01.2019 12:42:37
Georg
..sind so einfach :-) Grüße G
wobei ja eigentlich
22.01.2019 12:56:49
Rudi

With wbZiel.Worksheets(1)
.Range(.cells(loLastRowZiel+1,1),.cells(rows.count,4).end(xlup).Offset(,-3))=Fachgebiet
End With

auch OK sein sollte, da A ja im frisch kopierten Bereich leer ist.
Gruß
Rudi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige