281 Aufrufe
Gefragt in Tabellenkalkulation von ramirez-333 Einsteiger_in (85 Punkte)
Guten Morgen zusammen! (Und frohes Neues!)
Ich benötige Hilfe bei folgendem Problem!

Ich habe eine Datei, wessen relevante Felder ich mit Formeln/Abfragen auf eine täglich Downloaddatei hinterlegt habe.
Also die Überschriften oben sind die entsprechenden Tage und senkrecht die Topics.

Der Ablauf soll so sein:
Die Kollegen speichern täglich den Systemdownload (also die aktuellen Zahlen) unter einem fixen Dateinamen.
Auf diese Datei greife ich in meiner Datei per Sverweis zu und in der entsprechenden Tagesspalte sind die aktuellen Werte .

So weit so gut!

Nun möchte ich aber, daß in der aktuellen Spalte (Also der gerade übertragene Tag) alle per Formel reingezogene Daten fixiert werden, also Copy/Werte einfügen!

Ich habe bereits ein Makro gefunden, der mir alle nicht gesperrten Zellen markiert, aber da die Zellen nicht zusammenhängen klappt Copy/Paste-Werte nicht!

Ich bräuchte bitte einen Makro der:
1. die Spalte der aktiven Zelle markiert
2. Hier die Nichtgesperrten Zellen highlightet
3. Copy/Werte einfügen bei diesen Zellen macht ->fertig

Geht das so, wie ich mir das vorstellt und kann mir hier jemand helfen?

Danke im voraus

3 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Tim,

das folgende Makro durchläuft die Spalte der aktiven Zelle und wandelt bei nicht geschützten Zellen (Blattschutz ist aktiv) den Inhalt der Zellen in Werte um. Das Makro gehört in ein [url=http://www.excelbeispiele.de/Modul.htm]Standard Modul[/url] der Arbeitsmappe:

[code]Sub werte()

Dim lngSpalte As Long
Dim lngLetzte As Long
Dim lngZeile As Long

'Spalte festlegen = Spalte der aktiven Zelle
lngSpalte = ActiveCell.Column

'letzte Zeile in Spalte ermitteln
lngLetzte = ActiveSheet.Cells(Rows.Count, lngSpalte).End(xlUp).Row

'jetzt Spalte zeilenweise ab Zeile 2 durchlaufen
For lngZeile = 2 To lngLetzte
 'prüfen, ob Zelle gesperrt ist
  If Cells(lngZeile, lngSpalte).Locked = False Then
   'falls nicht, dann Wert in Zelle einfügen
    Cells(lngZeile, lngSpalte) = Cells(lngZeile, lngSpalte).Value
  End If
Next lngZeile

End Sub[/code]
Gruß

M.O.
0 Punkte
Beantwortet von ramirez-333 Einsteiger_in (85 Punkte)
Hallo M.O.,

ich bin beeindruckt!
Recht herzlichen Dank!
Es funktioniert super, auch ohne das man den Blattschutz einstellt!

Ein schönes Wochenende!

Tim
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Tim,

danke für die Rückmeldung. Das mit dem Blattschutz hatte ich nur reingeschrieben, da du von geschützten Zellen gesprochen hattest.

Auch ich wünsche dir ein schönes Wochenende.

Gruß

M.O.
...