Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
620to624
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
620to624
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sperre einbauen

Sperre einbauen
08.06.2005 08:32:50
Richard
Hallo,
ich brauche eure Hilfe, ich hab nämlich folgenden Code, er fügt die Spalten N1 und O1 hinzu, danach werden die Spalten L+M verbunden, dann werden die Werte gezählt und in der Tabelle ausgegeben. Meine Frage ist jetzt, wie kann ich eine Sperre einbauen, sodass der Anwender dies nicht zweimal macht, sonst stimmen die Spalten nicht mehr.
Wäre dankbar für eure Hilfe,
gruß
Richard

Sub SpalteDatumZeit()
Dim z As Integer
Application.ScreenUpdating = False
Columns("N:O").Select
With Selection
.Insert Shift:=xlToRight
Range("N1") = "DatumZeit"
Range("O1") = "Anzahl"
End With
With ActiveWorkbook.Worksheets(1)
z = Range("A65536").End(xlUp).Row
Range("N2").Formula = "=L2 + M2"
Range("N2").Copy Destination:=Range(Cells(2, 14), Cells(z, 14))
Columns("N:N").Select
Selection.NumberFormat = "m/d/yyyy"
Range("L2").Select
End With
Application.ScreenUpdating = True
End Sub


Sub SpalteAnzahl()
Dim nLastRow  As Long
Dim rngSrc    As Range
Dim rngDest   As Range
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Columns("O:O").Select
With Selection
.NumberFormat = "General"
End With
'Im 1. Tabellenblatt der aktiven Arbeitsmappe, werden nun die belegten Zeilen gesucht und im
'Tabellenblatt ausgegeben.
With ActiveWorkbook.Worksheets(1)
If Application.WorksheetFunction.CountA(.Cells) > 0 Then
nLastRow = .Cells.Find(What:="*", After:=.Range("A1"), _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
.Cells(2, 15).Value = 1    'Zelle O1
Set rngSrc = .Cells(2, 15)
Set rngDest = .Range(.Cells(2, 15), .Cells(nLastRow, 15))
rngSrc.AutoFill rngDest, xlFillSeries
Set rngSrc = Nothing
Set rngDest = Nothing
Else
MsgBox "Das Tabellenblatt enthält keine Daten!"
End If
End With
Columns("A:IM").AutoFit
Range("A1").Select
Set rngSrc = Nothing
Set rngDest = Nothing
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End 

Sub

		

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sperre einbauen
08.06.2005 08:58:49
Werner
Hallo Richard
Variante 1: Die spalten nicht nachträglich einfügen, sondern nur ausblenden.
Variante 2: Eine if abfrage, wenn O1 ungleich "Anzahl", dann ausführen.
Gruss Werner
AW: Sperre einbauen
08.06.2005 10:54:37
Richard
Hallo Werner,
danke für die Antwort.
Kannst du mir noch vielleicht eine kurze Erklärung geben zu der Variante 1, die habe ich nicht so richtig verstanden, wäre dir dankbar.
gruß
richard
AW: Sperre einbauen
08.06.2005 11:17:11
Werner
Hallo Richard
Mit dem Makro fügst die Spalten N und O ein. Wenn Du dieses Makro nochmal laufen lässt, werden die Spalten nochmal eingefügt.
Anstatt diese Spalte einfügen, diese nur ausblenden und wenn Du das Makro laufen lässt, dann diese einblenden.
Anstatt:
Columns("N:O").Select
With Selection
.Insert Shift:=xlToRight
Dieses:
[N1:O1].EntireColumn.Hidden = False
Oder Variante 2:

Sub SpalteDatumZeit()
If Range("O1") <> "Anzahl" Then
Dim z As Integer
Application.ScreenUpdating = False
Columns("N:O").Select
With Selection
.Insert Shift:=xlToRight
Range("N1") = "DatumZeit"
Range("O1") = "Anzahl"
End With
With ActiveWorkbook.Worksheets(1)
z = Range("A65536").End(xlUp).Row
Range("N2").Formula = "=L2 + M2"
Range("N2").Copy Destination:=Range(Cells(2, 14), Cells(z, 14))
Columns("N:N").Select
Selection.NumberFormat = "m/d/yyyy"
Range("L2").Select
End With
Application.ScreenUpdating = True
End If
End Sub

Eine Möglichkeit ist, wenn Du das Blatt mal auf den Server legst, dann werden auch andere Sachen klar.
Gruss Werner
Anzeige
AW: Sperre einbauen
08.06.2005 14:39:25
Richard
HAllo Werner,
danke nochmals.
Hab die Datei jetzt angefügt. Zuerst musst du DAtumZeit und dann Anzahl ausführen. Diese Spalten brauche ich für die Diagrammerstellung, wenn jetzt der Anwender die Spalten zweimal einfügt, stimmt die Reihenfolge nicht mehr, das wollte ich eben vermeiden. Eins verstehe ich hier nicht, wenn ich die Spalte A lösche, wird mein Makro falsch ausgeführt, woran kann es liegen? Kannst du mir das vielleicht sagen?
gruß
richard.
https://www.herber.de/bbs/user/23740.xls
AW: Sperre einbauen
08.06.2005 15:16:52
Werner
Hallo Richard
Du hast die Tabelle aber auf keine Weise wie ichs beschrieben habe angepasst.
Das ist doch das einfachste, anstatt zwei Spalten mit dem Makro hinzufügen, die Spalte vorher schon bereitstellen. Anschliessend kannst Du immer noch mit dem Makro die Zellen befüllen.
Das Forum ist für Hilfe da. Das heisst nicht, dass wenn einer eine Idee hat und der andere im diese vollständig präsentiert. Excel lernt man mit arbeiten damit.
Gruss Werner
Anzeige
AW: Sperre einbauen
08.06.2005 15:35:45
Richard
Hallo Werner,
ICh wollte doch gar nicht, dass du mir das fertig präsentierst, das mache ich schon alleine, vielleicht habe ich mich falsch ausgedrückt, eigentlich wollte ich nur, das mit der Spalte A klären, anhand eines Beispiels ist es viel einfacher es zu erklären, was ich meine.
Also, sorry nochmal, wenn ich mich falsch ausgedrückt haben sollte.
gruß
richard.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige