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

VBA Spaltenstandard

VBA Spaltenstandard
17.06.2019 16:19:28
Emre
Hallo Leutz,
ich möchte mittels VBA folgendes tun, da mir ein Ansatz fehlt und ich wirklich keine Idee habe kann ich keinen Code meinerseits hochladen.
https://www.herber.de/bbs/user/130442.xlsx
In der Datei steht in Spalte S "FW R" in der Spalte T "FW BZA" .... bis Spalte AA.
Das sind die Spalten die ein User hochlädt, sprich dies kann variieren.
Ich möchte dass in Spalte S immer der Wert "FC BZA" in Spalte T immer der Wert "FC MG" usw. steht. Die Werte "FW R" und FW" BZA" sollen in immer in Spalte AB und AC stehen.
Wie kann ich das mittels VBA umsetzen?
Zusammengefasst: Mein VBA Code soll erkennen welche Werte in den Spalten S-AA stehen und um meinen Standard ergänzen und verschieben.
Danke im Voraus Leutz.
Grüße Emre

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Spaltenstandard
17.06.2019 16:32:18
Hajo_Zi
Hallo Emre,
das geht nicht, da eine XLSX Datei kein Makro enthalten kann.
Ich sehe keinen Grund eine Datei 2x zu speichern. Ich führe keine Liste unter welchem Dateinamen ich die Datei gespeichert habe.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: VBA Spaltenstandard
17.06.2019 17:19:03
Daniel
Hi
beispielsweise so:
füge in die Vorlagendatei diesen Code ein:
Sub Spalten_anpassen()
Dim Zelle As Range
Dim S As Long
Dim shVorlage As Worksheet
Dim shZiel As Worksheet
if Activesheet.parent.name = thisworkbook.name then
Msgbox "Bitte das zu bearbeitende Tabellenblatt aktivieren"
Exit Sub
End if
Set shVorlage = ThisWorkbook.Sheets(1)
Set shZiel = ActiveSheet
For S = 27 To 19 Step -1 'Spalte AA-S
Set Zelle = shZiel.Rows(1).Find(what:=shVorlage.Cells(1, S), lookat:=xlWhole)
If Zelle Is Nothing Then
shZiel.Columns(19).Insert
shZiel.Cells(1, 19).Value = shVorlage.Cells(1, S).Value
Else
Zelle.EntireColumn.Cut
shZiel.Columns(19).Insert
End If
Next
End Sub

die Vorlagendatei muss im ersten Tabellenblatt in der ersten Zeile die gewünschten Spaltenüberschriften in der richtigen Reihenfolge enthalten.
um eine andere Tabelle zu bearbeiten, machst dann folgendes:
1. beide Dateien müssen geöffnet sein.
2. das Tabellenblatt, welches bearbeitet werden soll, muss aktiv sein
3. Starte dann das Makro.
Gruß Daniel
Anzeige
AW: VBA Spaltenstandard
18.06.2019 08:09:00
Emre
Hallo Daniel,
das funktioniert einwandfrei, danke dir!
Gibt es auch die Möglichkeit, mit wenigen Codezeilen, dass VBA die Vorlagendatei im Hintergrund öffnet und das Makro ausführt. Sodass man nicht die Vorlagendatei händisch öffnen muss und d. Makro ausführen muss ?
Danke nochmals!
Gruß Emre
AW: VBA Spaltenstandard
18.06.2019 08:52:02
Daniel
Hi
kann man sicherlich.
du könntest den Code in deiner Personl.xlsb im Autostartordner hinterlegen.
diese wird beim Starten von Excel automatisch mit geöffnet und in den Hintergrund geschoben.
oder du könntest das Makro einem Icon in deiner Schnellzugriffsleiste zuweisen.
Dann wird die Datei beim Klick auf dieses Makro automatisch geöffnet.
ggf musst du dann das Makro für die Auswahl der zu bearbeitenden Datei noch modifizieren.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige