VBA-Excel-einfügen einer vordefinierten Kopfzeile
Ich bin eine harte Zeit der Suche, was ich versuche zu tun, weil ich habe eine harte Zeit damit, was ich zu tun versuche in Worte zu fassen.
Im Grunde, was ich versuche zu tun ist, nehmen Sie eine Reihe von Header (vielleicht 10-12 Spalten lang) und in einem makro möchte ich paste den Header über (ersetzen) der aktuelle Header in Zeile 1 von Blatt 1. Die Art, wie ich derzeit die Dinge set up ist, dass meine Daten eingefügt werden, beginnend bei Zeile 2 von jedem Blatt, wenn das Blatt erzeugt. Ich habe ein makro geschrieben, dass das kopieren der Zeile 1 von Blatt 1 in jedes vorhandene Blatt, aber ich muss nicht manuell legen Sie die erste Platte-Header (es sollte Teil des Makros).
Also denke ich, brauche ich Hilfe, wie man in eine Zeile einfügen, die bestimmte Header über der Zeile 1 von Blatt 1 ( ich möchte das schreiben der eigentlichen header-Namen in das makro-code).
EDIT:
Application.CutCopyMode = True
Dim Counter As Long
Counter = Sheets.Count
For i = 1 To Counter
Sheets("Sheet1").Cells(1, 1).EntireRow.Copy
Sheets(i).Cells(1, 1).PasteSpecial
Next i
Application.CutCopyMode = False
Das, was ich für das kopieren von code über und dies funktioniert gut. Was ich will, ist in der Lage, die in einer Zeile code, die im Grunde sagt " Einfügen "überschrift 1" "Überschrift 2" Und "überschrift 3" usw. " in den entsprechenden Spalten der Zeile 1 Blatt 1. Also ich habe meine header-Namen schon rausgesucht, aber ich wollen, legen Sie direkt in das makro-code. Also wenn mein Header sind Anzuwenden, Banane, Kopfsalat, Tomate, will ich diese Worte in den makro-code und haben Sie eingefügt in Blatt 1 Zeile 1 vor meinem copy-paste-code oben aufgeführt.
Lol. Wir machen ein gutes team-wir nicht!
Fügen Sie über ist was ich tun will. Meine copy-paste-makro funktioniert, ich will nur in der Lage, um in ein makro "Fügen Sie diese Header auf, was ist in Zeile 1 von Blatt 1" wo 'Header' definiert sind, die im makro.
InformationsquelleAutor Scott T | 2015-07-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie wissen, dass Ihr Header vor der Zeit, können Sie schalten Sie aus mit mir unten. Dies sollte in den Headern, die Sie eingeben, und fügt Sie in alle Blätter. HINWEIS: Dies wird auch ENTFERNEN Sie alle Informationen in Zeile 1 auf jedem Blatt, so dass, wenn Sie nicht möchten, dass passieren, Kommentar/löschen Sie die Zeile.
Können Sie auch verwenden, als eine Allgemeine makro - es verhindert benötigen, kopieren/einfügen (das ist eine gute Sache zu lernen, in VBA, um zu vermeiden, kopieren/einfügen) und Sie können auch erstellen eine dynamische header-array, wenn Ihre Kopfzeilen ändern sich Häufig. Lassen Sie mich wissen, wenn dies ist auf Kurs für das, was Sie suchen!
Edit: Hinweis zu arrays. Standardmäßig wird ein array hat 5 Elemente werden indiziert von 0 bis 4. I. e. Wenn Sie diese Schleife (psuedocode):
Wird es nur drucken, "Superman","Catwoman","Rorschach". Dies ist so, weil "Batman", als der erste Eintrag, wird der 0-index. Ersetzen Sie einfach die
for
Linie mit diesemfor i = lBound(myArray()) to uBound(myArray())
zu gehen, vom ersten bis zum letzten Eintrag. Oder Sie könnenfor i = 0 to uBound(...
Aber Sie werden bemerken, dass die Schleife habe ich
.Cells(1, 1+i)...
. Dies ist, weil meine Schleife beginnt bei 0, daher musste ich Sie 1 zu ich so dass es beginnen würde, in der zweiten Spalte.Nicht wie das Null-basiertes array (wo es beginnt bei 0)? Sie können beginnen bei 1! Wie? Nur tun
Dim myArray(1 to 10)
. Das erstellt ein array, aber bei 1 beginnend. Dann wird in diesem Beispiel drucken Sie alle vier Menschen:Einen Tipp, für die Schleife durch ein array zu verwenden
lBound(array())
unduBound(array())
welches ist der erste Wert und der Letzte Wert jeweils.Dies wird auch ermöglichen es Ihnen, das zu tun
.Cells(1,i).Value ...
, da ich bei 1 beginnt. Macht das Sinn?richtig!!!! Ich will hinzufügen, eine Notiz in meinem OP über arrays für Sie. Würde es sich lohnen, die zeigen, wie man ein dynamisches array? I. e. Ihre Tabelle1 hat die Kopfzeilen Sie wollen, um in alle anderen Blätter?
Das macht Sinn und danke für über Sie mit mir! Für jetzt bin ich ziemlich solide, ohne dynamische arrays, glaube ich, aber wieder, ich danke Ihnen so sehr für gehen über alle diese!
glücklich zu helfen!!
InformationsquelleAutor BruceWayne
Vorausgesetzt, deine Header sind in den Spalten
A1:J1
aufSheet1
können Sie die folgenden verwenden, kopieren Sie Sie inB1:K1
aufSheet2
InformationsquelleAutor 3-14159265358979323846264
Damit kopieren Sie die header von
Sheet1
alle anderen Blätter automatisch Verwendung:Dieser code durchläuft alle Blätter, außer
srcSheet
und kopiert die erste Zeile vonsrcSheet
IhnenInformationsquelleAutor Uri Goren