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"