Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1496to1500
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 spalte einfügen bedinung

vba spalte einfügen bedinung
08.06.2016 14:27:46
Patricia
hallo zusammen,
ich möchte eine neue spalte einfügen wenn eine bestimmte zelle in der zeile erreicht ist. diese zelle nennt sich "MS1". wichtig ist, dass die neue spalte LINKS neben der erreichten zelle eingefügt werden soll.
dasselbe möchte ich für die zellen machen, dort sieht der code wie folgt aus:
Private Sub cmdP_Click()
Call Zeile_einfügen_P
End Sub

Sub Zeile_einfügen_P()
Dim i As Long
i = Cells(Rows.Count, 1).End(xlUp).Row
Do Until Cells(i, 1) = "Prozess"
i = i - 1
Loop
Rows(i - 1).Insert (xlShiftDown)
End Sub
leider kann ich diesen code nicht auf die spalten anwenden.
ich wäre dankbar für jede hilfe!
viele grüße

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

Betreff
Datum
Anwender
Anzeige
AW: vba spalte einfügen bedinung
10.06.2016 19:07:29
alen
Hallo Patricia,
sollte mit folgendem Code funktionieren:
Sub Zeile_einfügen_P()
Dim i As Long
Dim DeineZeile As Integer
DeineZeile = 2 'hier deine  Zeilenummer eingeben in welcher du suchen möchtest
i = Cells(DeineZeile, Columns.Count).End(xlUp).Column
Do Until Cells(DeineZeile, i) = "MS1"
i = i - 1
Loop
Columns(i).Insert
End Sub

AW: vba spalte einfügen bedinung
13.06.2016 10:47:21
Patricia
Hallo Alen,
vielen Dank für deine Antwort das funktioniert super.
Dasselbe habe ich für Spalte löschen angewandt.
Das einzige Problem was jetzt noch besteht ist dass die Spalte rechts gelöscht wird, ich gerne die Spalte links gelöscht haben möchte.
Ich habe aktuell folgenden Code:
Sub Spalte_löschen()
Dim i As Long
Dim DeineZeile As Integer
DeineZeile = 4 'hier deine  Zeilenummer eingeben in welcher du suchen möchtest
i = Cells(DeineZeile, Columns.Count).End(xlUp).column
Do Until Cells(DeineZeile, i) = "SOP"
i = i - 1
Loop
Columns(i).Delete (xlShiftToLeft)
End Sub
Eine weitere Frage (falls du dich damit auch auskennst): Beim Spalten bzw Zeilen einfügen möchte ich zusätzlich gerne die Formatierung der Zeilen drüber / Spalten links übernehmen, kennst du dich hier auch aus?
Vielen Dank & schöne Grüße

Anzeige
AW: vba spalte einfügen bedinung
14.06.2016 23:39:31
alen
Hallo Patricia,
kein Ding, man hilft wo man kann! :)
Zum ersten Problem:
Du muss noch in der vorletzen Zeile noch eine Spalte abziehen, da du dich nach dem Loop in der Spalte befindest wo "SOP" enthalten ist. Sieht dann so aus:
Columns(i - 1).Delete (xlShiftToLeft)

Um nur das Format zu kopieren, kannst du folgendes anwenden:
Sub Format_Kopieren()
Cells(X, X).Copy 'Hier deine Zeile und Spalte eingeben von welcher du das Format kopieren mö _
chtest. Die X sind nur Platzhalter
Cells(X, X).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False 'und hier hinein kommt die Zelle wo du das Format hinkopieren möchtest
Application.CutCopyMode = False
End Sub
Achja und was ich dir noch mitgeben möchte:
Falls es dich stört, beim Ausführen eines Makros, dass die einzelnen Befehle "sichtbar" im Excel abgearbeitet werden, kannst du folgendes dagegen machen (speziell bei größeren Programmen von Vorteil)
Und zwar am besten gleich nach dem "Sub" "Application.ScreenUpdating = False" einfügen und vor
dem "Exit Sub" "Application.ScreenUpdating = True" einfügen.
Falls du noch Hilfe brauchst dann einfach bescheid geben :)
SG
Alen
Anzeige

92 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige