• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

waarschijnlijk simpele vba code aub

Status
Niet open voor verdere reacties.

Swacar185

Gebruiker
Lid geworden
29 nov 2005
Berichten
75
Ik wil iets automatiseren : nl op verschillende tijdstippen een extern document importeren ( dat steeds van lengte verschilt), en daar dan bepaalde berekeningen mee doen; oa heel simpel bvb een kolom optellen.
Ik ken geeb vba code, en wanneer ik dit probeer te doen via macro opnemen, krijg ik onderstaand probleem :
voor zover ik kan zien wordt dus steeds die range van de laatst geselcteerde cel in de macro opgeslagen, zodat ik dus de volgende keer bij een langer bestand natuurlijk de som maak op een verkeerde plaats !!
Kan er iemand mij de code bezorgen waardoor ik naar het einde v e selctie kan springen, daar een bewerking kan doen enzovoort zodanig dat die range steeds onbepaald blijft en opnieuw kan uitgevoerd worden ?
Dank bij voorbaat

Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range("A30").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-29]C:R[-1]C)"
End Sub
 
Zo?

Code:
With Range("A1").End(xlDown).Offset(1)
    .Formula = "=SUM(A1:A" & .Row - 1 & ")"
End With

Wigi
 
Zo?

Code:
With Range("A1").End(xlDown).Offset(1)
    .Formula = "=SUM(A1:A" & .Row - 1 & ")"
End With

Wigi

Schitterend ! Jij bent steeds mijn reddende engel !!
(eigenlijk zou ik me ook eens op vba moeten toeleggen , maar ....) :D
Nogmaals bedankt
 
Schitterend ! Jij bent steeds mijn reddende engel !!
(eigenlijk zou ik me ook eens op vba moeten toeleggen , maar ....) :D
Nogmaals bedankt

5,00 1,00 6,00
14,00 0,00 14,00
0,00 9,50 9,50
7,50 2,50 11,00
0,00 7,50 7,50
0,00 2,00 2,00
0,00 4,00 4,00
0,00 11,00 11,00

Wat zou de code zijn om in een range de som te maken van elke kolom +
elke rij ?
Alvast bedankt
 
Laatst bewerkt:
5,00 1,00 6,00
14,00 0,00 14,00
0,00 9,50 9,50
7,50 2,50 11,00
0,00 7,50 7,50
0,00 2,00 2,00
0,00 4,00 4,00
0,00 11,00 11,00

Wat zou de code zijn om in een range de som te maken van elke kolom +
elke rij ?
Alvast bedankt

Dus totalen toevoegen voor elke rij en kolom? Of wat bedoel je?
 
Dus totalen toevoegen voor elke rij en kolom? Of wat bedoel je?

ja inderdaad, maar dan net als voorheen, zodanig dat die macro dan steeds opnieuw kan uitgevoerd worden (op niet altijd identieke ranges)
Dank bij voorbaat
 
Selecteer de te tellen cellen en zie dat de eerste kolom rechts ervan en de eerste rij eronder leeg zijn.

Voer dan de macro uit:

Code:
Sub totalen()
Dim rngData As Range, l As Long, c As Range
Set rngData = Selection

With rngData
    For l = 1 To .Columns.Count
        .Rows(.Rows.Count).Offset(1).Cells(l) = WorksheetFunction.Sum(.Columns(l))
    Next
    
    For l = 1 To .Rows.Count
        .Columns(.Columns.Count).Offset(, 1).Cells(l) = WorksheetFunction.Sum(.Rows(l))
    Next
    
    .Cells(.Rows.Count, .Columns.Count).Offset(1, 1) = WorksheetFunction.Sum(.Cells)
End With
End Sub

Wigi
 
Selecteer de te tellen cellen en zie dat de eerste kolom rechts ervan en de eerste rij eronder leeg zijn.

Voer dan de macro uit:

Code:
Sub totalen()
Dim rngData As Range, l As Long, c As Range
Set rngData = Selection

With rngData
    For l = 1 To .Columns.Count
        .Rows(.Rows.Count).Offset(1).Cells(l) = WorksheetFunction.Sum(.Columns(l))
    Next
    
    For l = 1 To .Rows.Count
        .Columns(.Columns.Count).Offset(, 1).Cells(l) = WorksheetFunction.Sum(.Rows(l))
    Next
    
    .Cells(.Rows.Count, .Columns.Count).Offset(1, 1) = WorksheetFunction.Sum(.Cells)
End With
End Sub

Wigi

Weeral hartelijk dank !!!!:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan