Makro für Anfügen einer Spalte

Bild

Betrifft: Makro für Anfügen einer Spalte
von: Natascha
Geschrieben am: 20.03.2005 12:07:36
Hallo zusammen,
ich habe leider keine weitergehenden VBA-Kenntnisse (Recorder-Makros kann ich ein wenig weiterentwickeln) und bräuchte dringend ein Makro, das eine Spalte in einer Tabelle anfügt und dann nur für die vorhandenen Zeilen die Formel (=SpalteB*SpalteC) einträgt bzw. berechnet.
Die vorhandene Datei importiert nach dem Öffnen bereits automatisch externe Daten (festgelegtes Format/fixe Anzahl Spalten)). Bei jedem Abruf der externen Daten werden die alten Daten überschrieben.
Kann mir jemand helfen?
Herzlichen Dank...
tchikki

Bild

Betrifft: AW: Spalte * Spalte
von: ransi
Geschrieben am: 20.03.2005 12:35:32
hallo natascha
schau mal hier:
vereinfacht geht das so:
https://www.herber.de/bbs/user/19895.xls
ist aber noch keine fehlerbehandlung drin.
ransi
Bild

Betrifft: AW: Spalte * Spalte
von: natascha
Geschrieben am: 20.03.2005 13:55:42
Hi ransi,
das funktioniert ja schon mal sehr gut. Und ich verstehe auch die Syntax :-)
Jetzt aber noch eine Frage zur RANGE: Wie kann ich die D20 aus deinem Beispiel (Range("d1:d20")) variabel halten? Bzw. wie kann ich eine Schleife einbinden, die das ganze nur so oft macht, wie es Einträge in B und C gibt?
tchikki
Bild

Betrifft: [b65536].End(xlUp).Row
von: ransi
Geschrieben am: 20.03.2005 19:07:31


      
hallo natascha
Ich hoffe du kannst diesen code auch nachvollziehen.
Option 
Explicit
Public Sub rechne()
Dim zelle As Range
Dim wie_weit_runter As Long
On Error Resume Next
wie_weit_runter = WorksheetFunction.Max([b65536].End(xlUp).Row,[c65536].End(xlUp).Row)
'Falls in B und C unterschiedliche Anzahl an werten
For Each zelle In Range("d1:d" & wie_weit_runter)
    zelle.Value = zelle.Offset(0, -2) * zelle.Offset(0, -1)
Next
End Sub
ransi 

     Code eingefügt mit Syntaxhighlighter 3.0


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Makro für Anfügen einer Spalte"