Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1108to1112
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

kopieren

kopieren
adi
Hallo ich brauche eine Hilfe
Sub Tab1_kopieren()
Dim am As Object
Dim dat$, vorl$   'Dateiname, Jahr, Monat
rechnmonat = Right(CStr(Year(Now)), 2) + Format(Month(Now), "00")
dat = ThisWorkbook.Path + "\Tab_" + rechnmonat + ".xls"
Sheets("Tab").Select
Range("B6:I61").Select
Selection.Copy
'ab hier soll die Datei die in dat gespeichert ist ausgewählt
'werden.
'ich komme nicht mehr weiter, wie lautet der Befehl ?
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B6").Select
ActiveWindow.WindowState = xlMinimized
Application.CutCopyMode = False
Range("A4").Select
End Sub
Gruß
adi

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: kopieren nach dat
15.10.2009 20:08:17
adi
Hallo Excelfreunde,
ich komme einfach nicht weiter, den Code seht ihr im vorigen Schreiben.
Ich würde mich über einen Tip freuen.
Gruß
adi
AW: kopieren
15.10.2009 20:13:28
Erich
Hallo Adi,
was meinst du mit 'soll die Datei ausgewählt werden'?
Select, Activate usw. sind oft überflüssig und störend.
Ist die Mappe ThisWorkbook.Path + "\Tab_" + rechnmonat + ".xls" offen
oder muss sie noch geöffnet werden?
Wenn sie geöffnet werden muss, würde ich das so machen:

Option Explicit                  ' IMMER ZU EMPFEHLEN
Sub Tab1_kopieren2()
Dim rngQ As Range
Set rngQ = ActiveWorkbook.Worksheets("Tab").Range("B6:I61")
Workbooks.Open ThisWorkbook.Path + "\Tab_" + Format(Date, "yymm") + ".xls"
ActiveWorkbook.Worksheets(1).Range(rngQ.Address) = rngQ.Value
'    ActiveWindow.WindowState = xlMinimized     ' nötig? erwünscht?
'    Range("A4").Select                         ' nötig? erwünscht?
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: kopieren
15.10.2009 20:38:29
adi
Hallo Erich,
ich lade eine Adressendatei, automatisch wird (siehe Code) eine Vorlage-datei geladen.
das erledigt dieses Programm, das ist auch OK.
Sub RechnungsdateiLaden()
Dim am As Object
Dim dat$, vorl$   'Dateiname, Jahr, Monat
rechnmonat = Right(CStr(Year(Now)), 2) + Format(Month(Now), "00")
dat = ThisWorkbook.Path + "\Tab_" + rechnmonat + ".xls"
If Dir(dat)  "" Then
'Datei existiert schon
'testen, ob Datei schon geladen ist
For Each am In Workbooks
If UCase(am.Name) = UCase("Tab_" + rechnmonat + ".xls") Then
geladen = True
Set rechnmappe = am: Set rechnblatt = am.Worksheets(1)
Exit For
End If
Next am
If Not geladen Then
'Datei laden
Set rechnmappe = Workbooks.Open(dat)
Set rechnblatt = rechnmappe.Worksheets(1)
End If
Else
'Datei existiert noch nicht:
'Mustervorlage öffnen, wenn diese existiert
vorl = ThisWorkbook.Path + "\Tab_Vorl.xlt"
If Dir(vorl)  "" Then
Set rechnmappe = Workbooks.Open(vorl)
Else
'sonst eben eine leere Datei
Set rechnmappe = Workbooks.Add
End If
Set rechnblatt = rechnmappe.Worksheets(1)
rechnblatt.[a1] = dat  'in A1 den Dateinamen speichern
'    rechnblatt.[A2] = 0    'in A2 die Rechnungsnummer speichern
rechnmappe.SaveAs dat
End If
Set rechnzelle = rechnblatt.Range("A5") 'in A5 erster Eintrag
rechnmappe.Windows(1).WindowState = xlMinimized
geladen = True
End Sub
nun möchte ich von Der Adressendatei "AdressenMB.xls" Daten kopieren und in der Vorlage-Datei (Tab....)
Einfügen.
das klappt noch nicht.
Gruß adi
Anzeige
AW: kopieren
15.10.2009 20:59:03
adi
Hallo Erich
ich muß noch schnell einen Text zur besseren Info hochladen.
Die AdresenMB.xls Datei hat 2 Tabellen, einmal "Tab" und einmal "Daten"
die Daten aus Tab sollen in der Vorlagedatei kopiert werden.
es gibt eine Vorlagedatei "Tab_vorl.xlt die wird geladen, wenn es keine andere gibt
Gruß adi
AW: kopieren
16.10.2009 11:33:42
adi
Hallo Erich,
kannst du mir einen Tip zum obigen Problehm geben?
Gruß
adi
AW: kopieren
16.10.2009 17:07:16
Erich
Hi Adi,
mit deiner Antwort hast du mir noch ein wenig zu raten gegeben.
Stimmt das Folgende?
1.
Steht der Code in der Mappe AdressenMB.xls? (Dann ist mit ThisWorkbook die AdressenMB.xls gemeint.)
2.
Bevor kopiert wird, ist die Prozedur "RechnungsdateiLaden" gelaufen,
das danach aufzurufende Kopiermakro kann sich darauf verlassen,
dass z. B. im Okt. 2009 eine Mappe mit dem Namen "Tab_0910.xls" geöffnet ist.
3.
Soll immer in das 1. Tabellenablatt der Zielmappe "Tab_0910.xls" kopiert werden?
4.
strName = "Tab_" + Format(Date, "yymm") + ".xls"
tut das gleiche wie
rechnmonat = Right(CStr(Year(Now)), 2) + Format(Month(Now), "00")
dat = "Tab_" + rechnmonat + ".xls"
Wenn ich das recht verstanden habe, sollte das Kopieren so funzen:

Option Explicit                  ' IMMER ZU EMPFEHLEN
Sub Tab1_kopieren3()
Dim rngQ As Range, strName As String
' zu kopierender Bereich
Set rngQ = ThisWorkbook.Worksheets("Tab").Range("B6:I61")
' Name der Zielmappe
strName = "Tab_" + Format(Date, "yymm") + ".xls"
' Übertragung der Werte
Workbooks(strName).Worksheets(1).Range(rngQ.Address) = rngQ.Value
End Sub
In deinem Kopiermakro stehen noch Zeilen
ActiveWindow.WindowState = xlMinimized
Range("A4").Select
Das Fenster welcher Mappe soll da minimiert werden?
Welche Mappe/welched Blatt soll nach dem Kopieren aktiv sein? Daraus wäre das A4 vor dem Select.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: kopieren
16.10.2009 21:37:43
adi
Hallo Erich,
dein kopiercode funktioniert klasse. Die 4 Punkte die du oben beschrieben hast sind auch richtig,
die unter Punkt 3 beschriebene Tabelle ändert sich jeden Monat, im nächsten Monat ist sie vielleicht "Tab_0911.xls".
Eine Frage möchte ich noch geklärt haben, denn wenn E-Mail Adressen kopiert werden,
z. B. xyz1234@t-online.de dann kann man sie nicht öffnen, ich meine damit, wenn ich mit der Maus
drüber fahre erscheint nicht der Zeigefinger.
Schöne Grüße und danke für deine Hilfe.
adi
PS. Ich hätte große Lust dir mal die komplette Datei hoch zu laden, da wäre einiges zu verbessern, wenn du Zeit hättest, dann gib mir ein Zeichen.
Anzeige
Mail-Adressen übertragen - Mappe hochladen
17.10.2009 00:25:28
Erich
Hi Adi,
ja, das stimmt:
Im letzten Kopiermakro werden (wie bei deinem früheren Copy und PasteSpecial Paste:=xlPasteValues)
nur Zellwerte übertragen, also keine Formeln, keine Formate und auch keine Hyperlinks.
Wie stehen die Mail-Adressen in der Quelltabelle? Mit "mailto:abc@xyz.de" ?
Wenn die Mail-Adressen als solche beim Kopieren erhalten bleiben sollen, müsste man anders kopieren.
Du müsstest aber erst mal sagen, ob Formeln, Formate auch kopiert werden sollen.
Eine Alternative wäre, in den kopierten Zellen nach Texten zu suchen, die eine Mail-Adresse sein können,
und dann aus den Texten Mail-Adressen zu erstellen.
Zu deinem P.S.:
Wenn du magst, kannst du die Mappe (so sie nicht zu groß ist) natürlich hochladen.
Das ist dann sicher auch nicht nur für mich bestimmt - hier können viele helfen.
Es sollte natürlich nicht in Arbeit ausarten.
Bevor du das tust, solltest du noch versuchen, Basis-Tipps wie
Option Explicit ' IMMER ZU EMPFEHLEN
und
Select, Activate usw. sind oft überflüssig und störend.
möglichst umzusetzen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Mail-Adressen übertragen - Mappe hochladen
17.10.2009 16:43:23
adi
Hallo Erich,
ich lade die besagte Datei und eine Tab_vorl.xlt hoch.
Im Großen und Ganzen könnte man damit arbeiten, nur wäre es schön, wenn
die Mail-Adresse als Formel kopiert würde.
Du wirst sehen, in der Adressen-Datei funktioniert es, nur in der Tab_vorl.xlt, die ja
beim nächsten Start Tab_0910.xls heißt.
https://www.herber.de/bbs/user/65164.xls
https://www.herber.de/bbs/user/65162.xlt
Gruß
adi
Mail-Adressen übertragen
18.10.2009 23:57:23
Erich
Hi Adi,
ein paar Sachen habe ich geändert in der Mappe.
So ganz klar ist mir nicht, warum zunächst das Blatt 'Tab' in der Mappe gefüllt wird,
danach dann die selben Daten in eine andere Mappe Tab_JJMM.xls übertragen werden.
Anders gefragt:
Wozu ist das Blatt 'Tab' gut, wenn es doch die Mappe Tab_JJMM.xls gibt - mit identischem Inhalt?
Du hattest geschrieben, Mail-Adresse sollte als Formel kopiert werden. Das ist aber keine Formel,
sondern ein Hyperlink-Objekt. Diese Objekte werden jetzt einfach beim normalen Copy mitkopiert.
Hier die neue Mappe: https://www.herber.de/bbs/user/65184.xls
Noch ein Hinweis:
Vielleicht solltest du Hans (W. Herber) per Mail bitten, die 65164.xls zu löschen - zum Datenschutz.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Mail-Adressen übertragen
19.10.2009 17:11:03
adi
Hallo Erich,
ich danke dir für die Hilfe,
die Mappe Tab_JJMM.xls ist zum versenden gedacht.
das ganze Programm ist nicht für mich, sondern für meine Tochter
die kann nich gut mit Excel arbeiten, sonst könnte man natürlich
von der Tab Tabelle eine Kopie machen, das ist ihr zu kompliziert.
Gruß adi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige